From 412ed17cc66d876c46ee8df3767066ca0e676f28 Mon Sep 17 00:00:00 2001 From: Ash McKenzie Date: Wed, 11 Sep 2019 23:00:48 +1000 Subject: New console package for writing to the console --- internal/console/console_test.go | 201 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 internal/console/console_test.go (limited to 'internal/console/console_test.go') diff --git a/internal/console/console_test.go b/internal/console/console_test.go new file mode 100644 index 0000000..bcd8444 --- /dev/null +++ b/internal/console/console_test.go @@ -0,0 +1,201 @@ +package console + +import ( + "bytes" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestDisplayWarningMessage(t *testing.T) { + tests := []struct { + name string + message string + wantOut string + }{ + { + name: "empty", + message: "", + wantOut: "", + }, + { + name: "basically empty", + message: " ", + wantOut: "", + }, + { + name: "something", + message: "something", + wantOut: `remote: +remote: ======================================================================== +remote: +remote: something +remote: +remote: ======================================================================== +remote: +`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + out := &bytes.Buffer{} + DisplayWarningMessage(tt.message, out) + + require.Equal(t, tt.wantOut, out.String()) + }) + } +} + +func TestDisplayWarningMessages(t *testing.T) { + tests := []struct { + name string + messages []string + wantOut string + }{ + { + name: "empty", + messages: []string{""}, + wantOut: "", + }, + { + name: "basically empty", + messages: []string{" "}, + wantOut: "", + }, + { + name: "something", + messages: []string{"something", "here"}, + wantOut: `remote: +remote: ======================================================================== +remote: +remote: something +remote: here +remote: +remote: ======================================================================== +remote: +`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + out := &bytes.Buffer{} + DisplayWarningMessages(tt.messages, out) + + require.Equal(t, tt.wantOut, out.String()) + }) + } +} + +func TestDisplayInfoMessage(t *testing.T) { + tests := []struct { + name string + message string + wantOut string + }{ + { + name: "empty", + message: "", + wantOut: "", + }, + { + name: "basically empty", + message: " ", + wantOut: "", + }, + { + name: "something", + message: "something", + wantOut: `remote: +remote: something +remote: +`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + out := &bytes.Buffer{} + DisplayInfoMessage(tt.message, out) + + require.Equal(t, tt.wantOut, out.String()) + }) + } +} + +func TestDisplayInfoMessages(t *testing.T) { + tests := []struct { + name string + messages []string + wantOut string + }{ + { + name: "empty", + messages: []string{""}, + wantOut: "", + }, + { + name: "basically empty", + messages: []string{" "}, + wantOut: "", + }, + { + name: "something", + messages: []string{"something", "here"}, + wantOut: "remote: \nremote: something\nremote: here\nremote: \n", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + out := &bytes.Buffer{} + DisplayInfoMessages(tt.messages, out) + + require.Equal(t, tt.wantOut, out.String()) + }) + } +} + +func Test_noMessages(t *testing.T) { + tests := []struct { + name string + messages []string + want bool + }{ + { + name: "empty", + messages: []string{""}, + want: true, + }, + { + name: "basically empty", + messages: []string{" "}, + want: true, + }, + { + name: "something", + messages: []string{"something", "here"}, + want: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + require.Equal(t, tt.want, noMessages(tt.messages)) + }) + } +} + +func Test_formatLine(t *testing.T) { + require.Equal(t, "remote: something\n", formatLine("something")) +} + +func Test_divider(t *testing.T) { + want := `remote: +remote: ======================================================================== +remote: +` + + require.Equal(t, want, divider()) +} -- cgit v1.2.1