summaryrefslogtreecommitdiff
path: root/cmd/podman/parse/template_test.go
blob: 7880d9bec8f27e270f3e7c7270efdc0908e39111 (plain)
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))
		})
	}
}