Skip to content

Commit 8cd6fda

Browse files
committed
fix for layout issues with log messages
1 parent 952eaef commit 8cd6fda

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

internal/job/shell/logger.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,15 @@ func (wl *WriterLogger) Commentf(format string, v ...any) {
8686

8787
func (wl *WriterLogger) Errorf(format string, v ...any) {
8888
if wl.Ansi {
89-
wl.Printf(ansiColor("🚨 Error: "+format+"\n^^^ +++", "31"), v...)
89+
wl.Printf(ansiColor("🚨 Error: "+format, "31")+"\n^^^ +++", v...)
9090
} else {
9191
wl.Printf("🚨 Error: "+format+"\n^^^ +++", v...)
9292
}
9393
}
9494

9595
func (wl *WriterLogger) Warningf(format string, v ...any) {
9696
if wl.Ansi {
97-
wl.Printf(ansiColor("⚠️ Warning: "+format+"\n^^^ +++", "33"), v...)
97+
wl.Printf(ansiColor("⚠️ Warning: "+format, "33")+"\n^^^ +++", v...)
9898
} else {
9999
wl.Printf("⚠️ Warning: "+format+"\n^^^ +++", v...)
100100
}

internal/job/shell/logger_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,38 @@ func TestAnsiLogger(t *testing.T) {
4343
}
4444
}
4545

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, `# Testing comment: "llamas"`)
62+
fmt.Fprintln(want, `🚨 Error: Testing error: "llamas"`)
63+
fmt.Fprintln(want, "^^^ +++")
64+
fmt.Fprintln(want, `⚠️ Warning: Testing warning: "llamas"`)
65+
fmt.Fprintln(want, "^^^ +++")
66+
67+
if runtime.GOOS == "windows" {
68+
fmt.Fprintln(want, `> Testing prompt: "llamas"`)
69+
} else {
70+
fmt.Fprintln(want, `$ 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+
4678
func TestLoggerStreamer(t *testing.T) {
4779
got := &bytes.Buffer{}
4880
l := shell.NewWriterLogger(got, false, nil)

0 commit comments

Comments
 (0)