template/pkg/logger/logger_test.go
djmil 9574c0faad pkg/check
- optimized test-code for readability and small API surface
- native support for pkg.result
2026-06-11 18:41:07 +00:00

59 lines
1.0 KiB
Go

package logger_test
import (
"testing"
"gitea.djmil.dev/go/template/pkg/check"
"gitea.djmil.dev/go/template/pkg/logger"
)
func TestNewCLI(t *testing.T) {
tests := []struct {
level string
wantErr bool
}{
{level: "debug"},
{level: "info"},
{level: "warn"},
{level: "error"},
{level: "invalid", wantErr: true},
{level: "", wantErr: true},
}
for _, tc := range tests {
t.Run(tc.level, func(t *testing.T) {
// In tests stderr is not a terminal — NewCLI uses JSON path.
r := logger.NewCLI(tc.level, nil)
if tc.wantErr {
check.Error(t, r)
return
}
check.OkNotNil(t, r)
})
}
}
func TestNew(t *testing.T) {
tests := []struct {
level string
wantErr bool
}{
{level: "debug"},
{level: "info"},
{level: "warn"},
{level: "error"},
{level: "invalid", wantErr: true},
{level: "", wantErr: true},
}
for _, tc := range tests {
t.Run(tc.level, func(t *testing.T) {
r := logger.New(tc.level)
if tc.wantErr {
check.Error(t, r)
return
}
check.OkNotNil(t, r)
})
}
}