summaryrefslogtreecommitdiffstats
path: root/tpl/tplimpl/template_ast_transformers_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-12-19 10:25:53 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-12-19 13:19:22 +0100
commit64b6b290751df01c47ff8d8fe21a3eca7a5db283 (patch)
tree5ed50ff7a2ce6475e65591c9fdabd02ce96fac76 /tpl/tplimpl/template_ast_transformers_test.go
parentbb9c2988f871ca5fe6af9c8e207ec852c631c3b3 (diff)
tpl: Fix case handling in cast params
Fixes #5538
Diffstat (limited to 'tpl/tplimpl/template_ast_transformers_test.go')
-rw-r--r--tpl/tplimpl/template_ast_transformers_test.go24
1 files changed, 20 insertions, 4 deletions
diff --git a/tpl/tplimpl/template_ast_transformers_test.go b/tpl/tplimpl/template_ast_transformers_test.go
index 46a037cec..52d8c17b1 100644
--- a/tpl/tplimpl/template_ast_transformers_test.go
+++ b/tpl/tplimpl/template_ast_transformers_test.go
@@ -19,13 +19,16 @@ import (
"html/template"
+ "github.com/spf13/cast"
+
"github.com/stretchr/testify/require"
)
var (
testFuncs = map[string]interface{}{
- "First": func(v ...interface{}) interface{} { return v[0] },
- "Echo": func(v interface{}) interface{} { return v },
+ "ToTime": func(v interface{}) interface{} { return cast.ToTime(v) },
+ "First": func(v ...interface{}) interface{} { return v[0] },
+ "Echo": func(v interface{}) interface{} { return v },
"where": func(seq, key interface{}, args ...interface{}) (interface{}, error) {
return map[string]interface{}{
"ByWeight": fmt.Sprintf("%v:%v:%v", seq, key, args),
@@ -37,8 +40,9 @@ var (
"NotParam": "Hi There",
"Slice": []int{1, 3},
"Params": map[string]interface{}{
- "lower": "P1L",
- "slice": []int{1, 3},
+ "lower": "P1L",
+ "slice": []int{1, 3},
+ "mydate": "1972-01-28",
},
"Pages": map[string]interface{}{
"ByWeight": []int{1, 3},
@@ -142,6 +146,14 @@ PARAMS STRING2: {{ with $pages }}{{ .ByWeight }}{{ end }}
PARAMS STRING3: {{ $pages3.ByWeight }}
{{ $first := First .Pages .Site.Params.LOWER }}
PARAMS COMPOSITE: {{ $first.ByWeight }}
+
+
+{{ $time := $.Params.MyDate | ToTime }}
+{{ $time = $time.AddDate 0 1 0 }}
+PARAMS TIME: {{ $time.Format "2006-01-02" }}
+
+{{ $_x := $.Params.MyDate | ToTime }}
+PARAMS TIME2: {{ $_x.AddDate 0 1 0 }}
`
)
@@ -209,6 +221,10 @@ func TestParamsKeysToLower(t *testing.T) {
// Issue #5068
require.Contains(t, result, "PCurrentSection: pcurrentsection")
+ // Issue #5541
+ require.Contains(t, result, "PARAMS TIME: 1972-02-28")
+ require.Contains(t, result, "PARAMS TIME2: 1972-02-28")
+
}
func BenchmarkTemplateParamsKeysToLower(b *testing.B) {