61 lines
1007 B
Go
61 lines
1007 B
Go
package lvl
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestString(t *testing.T) {
|
|
cases := []struct {
|
|
l Level
|
|
e string
|
|
}{
|
|
{
|
|
l: Debug,
|
|
e: "Debug",
|
|
},
|
|
{
|
|
l: Info,
|
|
e: "Info",
|
|
},
|
|
{
|
|
l: Warn,
|
|
e: "Warn",
|
|
},
|
|
{
|
|
l: Error,
|
|
e: "Error",
|
|
},
|
|
}
|
|
|
|
for _, c := range cases {
|
|
t.Run(c.e, func(t *testing.T) {
|
|
s := c.l.String()
|
|
|
|
if s != c.e {
|
|
t.Errorf("Expected %s but got %s", c.e, s)
|
|
}
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
func TestColor(t *testing.T) {
|
|
testCases := []struct {
|
|
level Level
|
|
message string
|
|
expected string
|
|
}{
|
|
{Debug, "Debug message", "\033[32mDebug message\033[0m"},
|
|
{Info, "Info message", "\033[97mInfo message\033[0m"},
|
|
{Warn, "Warning message", "\033[33mWarning message\033[0m"},
|
|
{Error, "Error message", "\033[31mError message\033[0m"},
|
|
}
|
|
|
|
for _, tc := range testCases {
|
|
coloredMessage := tc.level.Colorize(tc.message)
|
|
if coloredMessage != tc.expected {
|
|
t.Errorf("For level %v, expected '%v', but got '%v'", tc.level, tc.expected, coloredMessage)
|
|
}
|
|
}
|
|
}
|