MCPcopy
hub / github.com/rs/zerolog / TestEvent_Msg_ErrorHandlerNil

Function TestEvent_Msg_ErrorHandlerNil

event_test.go:451–489  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

449}
450
451func TestEvent_Msg_ErrorHandlerNil(t *testing.T) {
452 // Save original ErrorHandler and restore after test
453 originalErrorHandler := ErrorHandler
454 ErrorHandler = nil
455 defer func() { ErrorHandler = originalErrorHandler }()
456
457 // Create a LevelWriter that always returns an error
458 mockWriter := &badLevelWriter{err: errors.New("write error")}
459
460 e := newEvent(mockWriter, InfoLevel, false, nil, nil)
461 if e == nil {
462 t.Fatal("Event should not be nil")
463 }
464
465 // Capture stderr
466 oldStderr := os.Stderr
467 r, w, err := os.Pipe()
468 if err != nil {
469 t.Fatal(err)
470 }
471 os.Stderr = w
472
473 // Call Msg to trigger write error
474 e.Msg("test message")
475
476 // Restore stderr and read captured output
477 w.Close()
478 os.Stderr = oldStderr
479 captured, err := io.ReadAll(r)
480 if err != nil {
481 t.Fatal(err)
482 }
483
484 // Assert the error message was printed to stderr
485 expected := "zerolog: could not write event: write error\n"
486 if string(captured) != expected {
487 t.Errorf("Expected stderr output %q, got %q", expected, string(captured))
488 }
489}
490
491type mockLogObjectMarshaler struct {
492 data string

Callers

nothing calls this directly

Calls 4

newEventFunction · 0.85
FatalMethod · 0.80
MsgMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected