package hooks_test import ( "strings" "testing" "github.com/docker/cli/cli-plugins/hooks" "gotest.tools/v3/assert" ) func TestPrintHookMessages(t *testing.T) { const header = "\n\x1b[1mWhat's next:\x1b[0m\n" tests := []struct { doc string messages []string expectedOutput string }{ { doc: "no messages", messages: nil, expectedOutput: "", }, { doc: "single message", messages: []string{"Bork!"}, expectedOutput: header + " Bork!\n", }, { doc: "multiple messages", messages: []string{"Foo", "bar"}, expectedOutput: header + " Foo\n" + " bar\n", }, } for _, tc := range tests { t.Run(tc.doc, func(t *testing.T) { var w strings.Builder hooks.PrintNextSteps(&w, tc.messages) assert.Equal(t, w.String(), tc.expectedOutput) }) } }