Files
go-extractor/close_test.go
Steve Dudenhoeffer cb2ed10cfd
Some checks failed
CI / build (push) Failing after 2m4s
CI / test (push) Failing after 2m6s
CI / vet (push) Failing after 2m19s
refactor: restructure API, deduplicate code, expand test coverage
- Extract shared DeferClose helper, removing 14 duplicate copies
- Rename PlayWright-prefixed types to cleaner names (BrowserOptions,
  BrowserSelection, NewBrowser, etc.)
- Rename fields: ServerAddress, RequireServer (was DontLaunchOnConnectFailure)
- Extract shared initBrowser/mergeOptions into browser_init.go,
  deduplicating ~120 lines between NewBrowser and NewInteractiveBrowser
- Remove unused locator field from document struct
- Add tests for all previously untested packages (archive, aislegopher,
  wegmans, useragents, powerball) and expand existing test suites
- Add MIGRATION.md documenting all breaking API changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:59:47 -05:00

39 lines
646 B
Go

package extractor
import (
"errors"
"testing"
)
type mockCloser struct {
closed bool
err error
}
func (m *mockCloser) Close() error {
m.closed = true
return m.err
}
func TestDeferClose_Nil(t *testing.T) {
// Should not panic on nil.
DeferClose(nil)
}
func TestDeferClose_Valid(t *testing.T) {
m := &mockCloser{}
DeferClose(m)
if !m.closed {
t.Error("DeferClose did not call Close()")
}
}
func TestDeferClose_ErrorIgnored(t *testing.T) {
m := &mockCloser{err: errors.New("close error")}
// Should not panic even when Close returns an error.
DeferClose(m)
if !m.closed {
t.Error("DeferClose did not call Close()")
}
}