@@ -43,6 +43,38 @@ func TestAnsiLogger(t *testing.T) {
43
43
}
44
44
}
45
45
46
+ func TestAnsiWithColorsLogger (t * testing.T ) {
47
+ got := & bytes.Buffer {}
48
+ l := shell .NewWriterLogger (got , true , nil )
49
+
50
+ l .Headerf ("Testing header: %q" , "llamas" )
51
+ l .Printf ("Testing print: %q" , "llamas" )
52
+ l .Commentf ("Testing comment: %q" , "llamas" )
53
+ l .Errorf ("Testing error: %q" , "llamas" )
54
+ l .Warningf ("Testing warning: %q" , "llamas" )
55
+ l .Promptf ("Testing prompt: %q" , "llamas" )
56
+
57
+ want := & bytes.Buffer {}
58
+
59
+ fmt .Fprintln (want , `~~~ Testing header: "llamas"` )
60
+ fmt .Fprintln (want , `Testing print: "llamas"` )
61
+ fmt .Fprintln (want , `[90m# Testing comment: "llamas"[0m` )
62
+ fmt .Fprintln (want , `[31m🚨 Error: Testing error: "llamas"[0m` )
63
+ fmt .Fprintln (want , "^^^ +++" )
64
+ fmt .Fprintln (want , `[33m⚠️ Warning: Testing warning: "llamas"[0m` )
65
+ fmt .Fprintln (want , "^^^ +++" )
66
+
67
+ if runtime .GOOS == "windows" {
68
+ fmt .Fprintln (want , `[90m>[0m Testing prompt: "llamas"` )
69
+ } else {
70
+ fmt .Fprintln (want , `[90m$[0m Testing prompt: "llamas"` )
71
+ }
72
+
73
+ if diff := cmp .Diff (got .String (), want .String ()); diff != "" {
74
+ t .Fatalf ("shell.WriterLogger output buffer diff (-got +want):\n %s" , diff )
75
+ }
76
+ }
77
+
46
78
func TestLoggerStreamer (t * testing.T ) {
47
79
got := & bytes.Buffer {}
48
80
l := shell .NewWriterLogger (got , false , nil )
0 commit comments