github.com/mineiros-io/terradoc@v0.0.9-0.20220711062319-018bd4ae81f5/internal/renderers/template_functions_test.go (about) 1 package renderers 2 3 import ( 4 "testing" 5 6 "github.com/madlambda/spells/assert" 7 ) 8 9 func TestURLFragment(t *testing.T) { 10 input := "Backwards compatibility in `0.0.z` and `0.y.z` version" 11 want := "backwards-compatibility-in-00z-and-0yz-version" 12 13 assert.EqualStrings(t, want, urlfragment(input)) 14 } 15 16 func TestNewLine(t *testing.T) { 17 assert.EqualStrings(t, "\n\n", newLine()) 18 } 19 20 func TestIndent(t *testing.T) { 21 tests := []struct { 22 desc string 23 input string 24 want string 25 indentLevel int 26 }{ 27 { 28 input: "one line stuff", 29 want: " one line stuff", 30 indentLevel: 4, 31 }, 32 { 33 input: `multi 34 35 line 36 37 38 stuff`, 39 want: ` multi 40 41 line 42 43 44 stuff`, 45 indentLevel: 2, 46 }, 47 } 48 49 for _, tt := range tests { 50 t.Run(tt.desc, func(t *testing.T) { 51 got := indent(tt.indentLevel, tt.input) 52 53 assert.EqualStrings(t, tt.want, got) 54 }) 55 } 56 } 57 58 func TestRepeat(t *testing.T) { 59 assert.EqualStrings(t, "$$$$$", repeat("$", 5)) 60 assert.EqualStrings(t, "##", repeat("#", 2)) 61 }