diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2018-09-03 19:31:27 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2018-09-03 19:31:27 +1000 |
commit | a9cd27707015a99df34aefd27471328ca23c8b3f (patch) | |
tree | 69cd6e6dc281cb867424c8e6d118e7abd6fdc74f /pkg/utils | |
parent | 87de803a6c34bff20330645a220381a1172d0b3a (diff) |
add test for ResolvePlaceholderString
Diffstat (limited to 'pkg/utils')
-rw-r--r-- | pkg/utils/utils_test.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/pkg/utils/utils_test.go b/pkg/utils/utils_test.go index 46b264945..0b2d35959 100644 --- a/pkg/utils/utils_test.go +++ b/pkg/utils/utils_test.go @@ -114,3 +114,56 @@ func TestNormalizeLinefeeds(t *testing.T) { assert.EqualValues(t, string(s.expected), NormalizeLinefeeds(string(s.byteArray))) } } + +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, string(s.expected), ResolvePlaceholderString(s.templateString, s.arguments)) + } +} |