diff options
Diffstat (limited to 'pkg/utils/template_test.go')
-rw-r--r-- | pkg/utils/template_test.go | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/pkg/utils/template_test.go b/pkg/utils/template_test.go new file mode 100644 index 000000000..f294d115d --- /dev/null +++ b/pkg/utils/template_test.go @@ -0,0 +1,61 @@ +package utils + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +// TestResolvePlaceholderString is a function. +func TestResolvePlaceholderString(t *testing.T) { + type scenario struct { + templateString string + arguments map[string]string + expected string + } + + scenarios := []scenario{ + { + "", + map[string]string{}, + "", + }, + { + "hello", + map[string]string{}, + "hello", + }, + { + "hello {{arg}}", + map[string]string{}, + "hello {{arg}}", + }, + { + "hello {{arg}}", + map[string]string{"arg": "there"}, + "hello there", + }, + { + "hello", + map[string]string{"arg": "there"}, + "hello", + }, + { + "{{nothing}}", + map[string]string{"nothing": ""}, + "", + }, + { + "{{}} {{ this }} { should not throw}} an {{{{}}}} error", + map[string]string{ + "blah": "blah", + "this": "won't match", + }, + "{{}} {{ this }} { should not throw}} an {{{{}}}} error", + }, + } + + for _, s := range scenarios { + assert.EqualValues(t, s.expected, ResolvePlaceholderString(s.templateString, s.arguments)) + } +} |