github.com/wynshop-open-source/gomplate@v3.5.0+incompatible/config_test.go (about) 1 package gomplate 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestConfigString(t *testing.T) { 11 c := &Config{} 12 13 expected := `input: - 14 output: -` 15 assert.Equal(t, expected, c.String()) 16 17 c = &Config{ 18 LDelim: "L", 19 RDelim: "R", 20 Input: "foo", 21 OutputFiles: []string{"-"}, 22 Templates: []string{"foo=foo.t", "bar=bar.t"}, 23 } 24 expected = `input: <arg> 25 output: - 26 left_delim: L 27 right_delim: R 28 templates: foo=foo.t, bar=bar.t` 29 30 assert.Equal(t, expected, c.String()) 31 32 c = &Config{ 33 InputDir: "in/", 34 OutputDir: "out/", 35 } 36 expected = `input: in/ 37 output: out/` 38 39 assert.Equal(t, expected, c.String()) 40 41 c = &Config{ 42 InputDir: "in/", 43 OutputMap: "{{ .in }}", 44 } 45 expected = `input: in/ 46 output: {{ .in }}` 47 48 assert.Equal(t, expected, c.String()) 49 } 50 51 func TestGetMode(t *testing.T) { 52 c := &Config{} 53 m, o, err := c.getMode() 54 assert.NoError(t, err) 55 assert.Equal(t, os.FileMode(0), m) 56 assert.False(t, o) 57 58 c = &Config{OutMode: "755"} 59 m, o, err = c.getMode() 60 assert.NoError(t, err) 61 assert.Equal(t, os.FileMode(0755), m) 62 assert.True(t, o) 63 64 c = &Config{OutMode: "0755"} 65 m, o, err = c.getMode() 66 assert.NoError(t, err) 67 assert.Equal(t, os.FileMode(0755), m) 68 assert.True(t, o) 69 70 c = &Config{OutMode: "foo"} 71 _, _, err = c.getMode() 72 assert.Error(t, err) 73 }