cloudflare/pint

Public

mirrored from https://github.com/cloudflare/pintAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v0.74.5

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

internal/log/log_test.go

48lines · modecode

1package log_test
2
3import (
4 "log/slog"
5 "testing"
6
7 "github.com/cloudflare/pint/internal/log"
8
9 "github.com/stretchr/testify/require"
10)
11
12func TestParseLevel(t *testing.T) {
13 type testCaseT struct {
14 s string
15 err string
16 level slog.Level
17 }
18
19 testCases := []testCaseT{
20 {s: "xxx", level: slog.LevelInfo, err: `"xxx" is not a valid log level`},
21 {s: "err", level: slog.LevelInfo, err: `"err" is not a valid log level`},
22 {s: "DEB", level: slog.LevelInfo, err: `"DEB" is not a valid log level`},
23 {s: "error", level: slog.LevelError},
24 {s: "Error", level: slog.LevelError},
25 {s: "ERROR", level: slog.LevelError},
26 {s: "warn", level: slog.LevelWarn},
27 {s: "Warn", level: slog.LevelWarn},
28 {s: "WARN", level: slog.LevelWarn},
29 {s: "info", level: slog.LevelInfo},
30 {s: "Info", level: slog.LevelInfo},
31 {s: "INFO", level: slog.LevelInfo},
32 {s: "debug", level: slog.LevelDebug},
33 {s: "Debug", level: slog.LevelDebug},
34 {s: "DEBUG", level: slog.LevelDebug},
35 }
36
37 for _, tc := range testCases {
38 t.Run(tc.s, func(t *testing.T) {
39 l, err := log.ParseLevel(tc.s)
40 if tc.err != "" {
41 require.EqualError(t, err, tc.err)
42 } else {
43 require.NoError(t, err)
44 require.Equal(t, tc.level, l)
45 }
46 })
47 }
48}
49