| package hooks |
| |
| import ( |
| "bytes" |
| "testing" |
| |
| "github.com/morikuni/aec" |
| "gotest.tools/v3/assert" |
| ) |
| |
| func TestPrintHookMessages(t *testing.T) { |
| testCases := []struct { |
| messages []string |
| expectedOutput string |
| }{ |
| { |
| messages: []string{}, |
| expectedOutput: "", |
| }, |
| { |
| messages: []string{"Bork!"}, |
| expectedOutput: aec.Bold.Apply("\nWhat's next:") + "\n" + |
| " Bork!\n", |
| }, |
| { |
| messages: []string{"Foo", "bar"}, |
| expectedOutput: aec.Bold.Apply("\nWhat's next:") + "\n" + |
| " Foo\n" + |
| " bar\n", |
| }, |
| } |
| |
| for _, tc := range testCases { |
| w := bytes.Buffer{} |
| PrintNextSteps(&w, tc.messages) |
| assert.Equal(t, w.String(), tc.expectedOutput) |
| } |
| } |