diff --git a/pkg/report/formatter.go b/pkg/report/formatter.go index 2774ff056..4a353213f 100644 --- a/pkg/report/formatter.go +++ b/pkg/report/formatter.go @@ -65,10 +65,10 @@ func (f *Formatter) Parse(origin Origin, text string) (*Formatter, error) { // parse the template. If it fails use the original text and parse again. var normText string switch { - case strings.HasPrefix(text, "table "): + case strings.HasPrefix(text, "table "): // This could use strings.CutPrefix after we require Go 1.20 f.RenderTable = true normText = "{{range .}}" + NormalizeFormat(text) + "{{end -}}" - text = "{{range .}}" + text + "{{end -}}" + text = "{{range .}}" + text[len("table "):] + "{{end -}}" case OriginUser == origin: normText = EnforceRange(NormalizeFormat(text)) text = EnforceRange(text) diff --git a/pkg/report/formatter_test.go b/pkg/report/formatter_test.go index d84935c3e..4c989a561 100644 --- a/pkg/report/formatter_test.go +++ b/pkg/report/formatter_test.go @@ -84,6 +84,7 @@ func TestFormatter_ParseTable(t *testing.T) { {&bytes.Buffer{}, OriginUser, `{{range .}}{{.ID}}{{end -}}`, "c061a0839ef10fc2e110571eb6fab5aa8f4b5cbfd3e66aa35e9b2a"}, // regression test for https://bugzilla.redhat.com/show_bug.cgi?id=2059658 and https://github.com/containers/podman/issues/13446 {&bytes.Buffer{}, OriginUser, `{{range .}}{{printf "\n"}}{{end -}}`, "\n\n\n"}, + {&tabwriter.Writer{}, OriginUser, `table {{printf "\n"}}`, "\n\n\n\n"}, } for loop, tc := range testCase {