| 497 | } |
| 498 | |
| 499 | func TestEvent_ErrWithStackMarshaler(t *testing.T) { |
| 500 | // Save original |
| 501 | original := ErrorStackMarshaler |
| 502 | defer func() { ErrorStackMarshaler = original }() |
| 503 | |
| 504 | // Set a mock marshaler |
| 505 | ErrorStackMarshaler = func(err error) interface{} { |
| 506 | return "stack-trace" |
| 507 | } |
| 508 | |
| 509 | var buf bytes.Buffer |
| 510 | log := New(&buf) |
| 511 | |
| 512 | err := errors.New("test error") |
| 513 | log.Log().Stack().Err(err).Msg("test message") |
| 514 | |
| 515 | got := buf.String() |
| 516 | want := `{"stack":"stack-trace","error":"test error","message":"test message"}` + "\n" |
| 517 | if got != want { |
| 518 | t.Errorf("Event.Err() with stack marshaler = %q, want %q", got, want) |
| 519 | } |
| 520 | } |
| 521 | |
| 522 | func TestEvent_FieldsWithErrorAndStackMarshaler(t *testing.T) { |
| 523 | // Save original |