| 396 | } |
| 397 | |
| 398 | func TestSugarLnLogging(t *testing.T) { |
| 399 | tests := []struct { |
| 400 | args []interface{} |
| 401 | expect string |
| 402 | }{ |
| 403 | {nil, ""}, |
| 404 | {[]interface{}{}, ""}, |
| 405 | {[]interface{}{""}, ""}, |
| 406 | {[]interface{}{"foo"}, "foo"}, |
| 407 | {[]interface{}{"foo", "bar"}, "foo bar"}, |
| 408 | } |
| 409 | |
| 410 | // Common to all test cases. |
| 411 | context := []interface{}{"foo", "bar"} |
| 412 | expectedFields := []Field{String("foo", "bar")} |
| 413 | |
| 414 | for _, tt := range tests { |
| 415 | withSugar(t, DebugLevel, nil, func(logger *SugaredLogger, logs *observer.ObservedLogs) { |
| 416 | logger.With(context...).Debugln(tt.args...) |
| 417 | logger.With(context...).Infoln(tt.args...) |
| 418 | logger.With(context...).Warnln(tt.args...) |
| 419 | logger.With(context...).Errorln(tt.args...) |
| 420 | logger.With(context...).DPanicln(tt.args...) |
| 421 | logger.With(context...).Logln(InfoLevel, tt.args...) |
| 422 | |
| 423 | expected := make([]observer.LoggedEntry, 6) |
| 424 | for i, lvl := range []zapcore.Level{DebugLevel, InfoLevel, WarnLevel, ErrorLevel, DPanicLevel, InfoLevel} { |
| 425 | expected[i] = observer.LoggedEntry{ |
| 426 | Entry: zapcore.Entry{Message: tt.expect, Level: lvl}, |
| 427 | Context: expectedFields, |
| 428 | } |
| 429 | } |
| 430 | assert.Equal(t, expected, logs.AllUntimed(), "Unexpected log output.") |
| 431 | }) |
| 432 | } |
| 433 | } |
| 434 | |
| 435 | func TestSugarLnLoggingIgnored(t *testing.T) { |
| 436 | withSugar(t, WarnLevel, nil, func(logger *SugaredLogger, logs *observer.ObservedLogs) { |