github.com/hairyhenderson/templater@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  }