github.com/StackExchange/blackbox/v2@v2.0.1-0.20220331193400-d84e904973ab/pkg/box/pretty_test.go (about) 1 package box 2 3 import "testing" 4 5 func TestPrettyCommitMessage(t *testing.T) { 6 long := "aVeryVeryLongLongLongStringStringString" 7 for i, test := range []struct { 8 data []string 9 expected string 10 }{ 11 {[]string{}, `HEADING (no files)`}, 12 {[]string{"one"}, `HEADING: one`}, 13 {[]string{"one", "two"}, `HEADING: one two`}, 14 {[]string{"one", "two", "three"}, `HEADING: one two three`}, 15 {[]string{"one", "two", "three", "four"}, 16 `HEADING: one two three four`}, 17 {[]string{"one", "two", "three", "four", "five"}, 18 `HEADING: one two three four five`}, 19 {[]string{"has spaces.txt"}, `HEADING: "has spaces.txt"`}, 20 {[]string{"two\n"}, `HEADING: "twoX"(redacted)`}, 21 {[]string{"smile😁eyes"}, `HEADING: smile😁eyes`}, 22 {[]string{"tab\ttab", "two very long strings.txt"}, 23 `HEADING: "tabXtab"(redacted) "two very long strings.txt"`}, 24 {[]string{long, long, long, long}, 25 "HEADING: " + long + " " + long + " (and others)"}, 26 } { 27 g := PrettyCommitMessage("HEADING", test.data) 28 if g == test.expected { 29 //t.Logf("%03d: PASSED files=%q\n", i, test.data) 30 t.Logf("%03d: PASSED", i) 31 } else { 32 t.Errorf("%03d: FAILED files==%q got=(%q) wanted=(%q)\n", i, test.data, g, test.expected) 33 } 34 } 35 }