summaryrefslogtreecommitdiffstats
path: root/pkg/utils
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2018-09-03 19:31:27 +1000
committerJesse Duffield <jessedduffield@gmail.com>2018-09-03 19:31:27 +1000
commita9cd27707015a99df34aefd27471328ca23c8b3f (patch)
tree69cd6e6dc281cb867424c8e6d118e7abd6fdc74f /pkg/utils
parent87de803a6c34bff20330645a220381a1172d0b3a (diff)
add test for ResolvePlaceholderString
Diffstat (limited to 'pkg/utils')
-rw-r--r--pkg/utils/utils_test.go53
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))
+ }
+}