Skip to content

Commit

Permalink
feat: add slog tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aymanbagabas committed Oct 31, 2023
1 parent 5a0eac5 commit 2ae1d55
Showing 1 changed file with 71 additions and 0 deletions.
71 changes: 71 additions & 0 deletions logger_go121_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
//go:build go1.21
// +build go1.21

package log

import (
"bytes"
"testing"

"log/slog"

"github.com/stretchr/testify/assert"
)

func TestSlogSimple(t *testing.T) {
var buf bytes.Buffer
h := New(&buf)
h.SetLevel(DebugLevel)
l := slog.New(h)
cases := []struct {
name string
expected string
msg string
attrs []any
print func(string, ...any)
}{
{
name: "slog debug",
expected: "DEBU slog debug\n",
msg: "slog debug",
print: l.Debug,
attrs: nil,
},
{
name: "slog info",
expected: "INFO slog info\n",
msg: "slog info",
print: l.Info,
attrs: nil,
},
{
name: "slog warn",
expected: "WARN slog warn\n",
msg: "slog warn",
print: l.Warn,
attrs: nil,
},
{
name: "slog error",
expected: "ERRO slog error\n",
msg: "slog error",
print: l.Error,
attrs: nil,
},
{
name: "slog error attrs",
expected: "ERRO slog error foo=bar\n",
msg: "slog error",
print: l.Error,
attrs: []any{"foo", "bar"},
},
}

for _, c := range cases {
buf.Reset()
t.Run(c.name, func(t *testing.T) {
c.print(c.msg, c.attrs...)
assert.Equal(t, c.expected, buf.String())
})
}
}

0 comments on commit 2ae1d55

Please sign in to comment.