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()") } }