Fix GetPage Params case issue

Fixes #5946
This commit is contained in:
Bjørn Erik Pedersen
2019-11-21 19:45:03 +01:00
parent 628efd6e29
commit cd07e6d57b
4 changed files with 48 additions and 6 deletions

View File

@@ -26,6 +26,19 @@ import (
qt "github.com/frankban/quicktest"
)
type paramsHolder struct {
params map[string]interface{}
page *paramsHolder
}
func (p paramsHolder) Params() map[string]interface{} {
return p.params
}
func (p paramsHolder) GetPage(arg string) *paramsHolder {
return p.page
}
var (
testFuncs = map[string]interface{}{
"getif": func(v interface{}) interface{} { return v },
@@ -37,16 +50,22 @@ var (
"ByWeight": fmt.Sprintf("%v:%v:%v", seq, key, args),
}, nil
},
"site": func() interface{} {
return map[string]interface{}{
"Params": map[string]interface{}{
"site": func() paramsHolder {
return paramsHolder{
params: map[string]interface{}{
"lower": "global-site",
},
page: &paramsHolder{
params: map[string]interface{}{
"lower": "page",
},
},
}
},
}
paramsData = map[string]interface{}{
"NotParam": "Hi There",
"Slice": []int{1, 3},
"Params": map[string]interface{}{
@@ -81,6 +100,16 @@ var (
},
},
},
"Site2": paramsHolder{
params: map[string]interface{}{
"lower": "global-site",
},
page: &paramsHolder{
params: map[string]interface{}{
"lower": "page",
},
},
},
}
paramsTempl = `
@@ -170,6 +199,11 @@ PARAMS SITE GLOBAL1: {{ site.Params.LOwER }}
{{ $site := site }}
PARAMS SITE GLOBAL2: {{ $lower }}
PARAMS SITE GLOBAL3: {{ $site.Params.LOWER }}
{{ $p := $site.GetPage "foo" }}
PARAMS GETPAGE: {{ $p.Params.LOWER }}
{{ $p := .Site2.GetPage "foo" }}
PARAMS GETPAGE2: {{ $p.Params.LOWER }}
`
)
@@ -248,6 +282,10 @@ func TestParamsKeysToLower(t *testing.T) {
c.Assert(result, qt.Contains, "PARAMS SITE GLOBAL2: global-site")
c.Assert(result, qt.Contains, "PARAMS SITE GLOBAL3: global-site")
//
c.Assert(result, qt.Contains, "PARAMS GETPAGE: page")
c.Assert(result, qt.Contains, "PARAMS GETPAGE2: page")
}
func BenchmarkTemplateParamsKeysToLower(b *testing.B) {