1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package parse
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestEnforceRange(t *testing.T) {
tests := []struct {
input string
expected string
}{
{"{{range .}}{{.ID}}{{end}}", "{{range .}}{{.ID}}{{end}}"},
{"{{.ID}}", "{{range .}}{{.ID}}{{end}}"},
{"{{ range . }}{{ .ID }}{{ end }}", "{{ range . }}{{ .ID }}{{ end }}"},
// EnforceRange does not verify syntax or semantics, that will happen later
{"{{range .}}{{.ID}}", "{{range .}}{{range .}}{{.ID}}{{end}}"},
{".ID", "{{range .}}.ID{{end}}"},
}
for _, tc := range tests {
tc := tc
label := "TestEnforceRange_" + tc.input
t.Run(label, func(t *testing.T) {
t.Parallel()
assert.Equal(t, tc.expected, EnforceRange(tc.input))
})
}
}
|