|
|
package logrus
import ( "bytes" "fmt" "testing"
"github.com/stretchr/testify/assert" )
func TestEntryWithError(t *testing.T) {
assert := assert.New(t)
defer func() { ErrorKey = "error" }()
err := fmt.Errorf("kaboom at layer %d", 4711)
assert.Equal(err, WithError(err).Data["error"])
logger := New() logger.Out = &bytes.Buffer{} entry := NewEntry(logger)
assert.Equal(err, entry.WithError(err).Data["error"])
ErrorKey = "err"
assert.Equal(err, entry.WithError(err).Data["err"])
}
func TestEntryPanicln(t *testing.T) { errBoom := fmt.Errorf("boom time")
defer func() { p := recover() assert.NotNil(t, p)
switch pVal := p.(type) { case *Entry: assert.Equal(t, "kaboom", pVal.Message) assert.Equal(t, errBoom, pVal.Data["err"]) default: t.Fatalf("want type *Entry, got %T: %#v", pVal, pVal) } }()
logger := New() logger.Out = &bytes.Buffer{} entry := NewEntry(logger) entry.WithField("err", errBoom).Panicln("kaboom") }
func TestEntryPanicf(t *testing.T) { errBoom := fmt.Errorf("boom again")
defer func() { p := recover() assert.NotNil(t, p)
switch pVal := p.(type) { case *Entry: assert.Equal(t, "kaboom true", pVal.Message) assert.Equal(t, errBoom, pVal.Data["err"]) default: t.Fatalf("want type *Entry, got %T: %#v", pVal, pVal) } }()
logger := New() logger.Out = &bytes.Buffer{} entry := NewEntry(logger) entry.WithField("err", errBoom).Panicf("kaboom %v", true) }
|