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  }