28 lines
655 B
Go
28 lines
655 B
Go
package logging
|
|
|
|
import (
|
|
"bytes"
|
|
"testing"
|
|
)
|
|
|
|
func TestFormat(t *testing.T) {
|
|
for _, tc := range []struct {
|
|
level, code string
|
|
}{{"I", "32"}, {"W", "33"}, {"E", "31"}, {"F", "35"}} {
|
|
t.Run(tc.level, func(t *testing.T) {
|
|
for _, color := range []bool{false, true} {
|
|
var buf bytes.Buffer
|
|
write(&buf, color, tc.level, "Builder", "first\r\nsecond\n")
|
|
label := "[" + tc.level + "]"
|
|
if color {
|
|
label = "\033[" + tc.code + "m" + label + "\033[0m"
|
|
}
|
|
want := label + " [Builder] first\n" + label + " [Builder] second\n"
|
|
if buf.String() != want {
|
|
t.Fatalf("got %q, want %q", buf.String(), want)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|