mirror of
https://github.com/gohugoio/hugo.git
synced 2025-09-01 22:42:45 +02:00
tpl: Add docshelper for template funcs
And fix some other minor related issues. Updates #3418
This commit is contained in:
@@ -51,8 +51,14 @@ func (t *templateFuncster) initFuncMap() {
|
||||
panic(ns.Name + " is a duplicate template func")
|
||||
}
|
||||
funcMap[ns.Name] = ns.Context
|
||||
for k, v := range ns.Aliases {
|
||||
funcMap[k] = v
|
||||
for _, mm := range ns.MethodMappings {
|
||||
for _, alias := range mm.Aliases {
|
||||
if _, exists := funcMap[alias]; exists {
|
||||
panic(alias + " is a duplicate template func")
|
||||
}
|
||||
funcMap[alias] = mm.Method
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -87,19 +87,21 @@ func TestTemplateFuncsExamples(t *testing.T) {
|
||||
|
||||
for _, nsf := range internal.TemplateFuncsNamespaceRegistry {
|
||||
ns := nsf(d)
|
||||
for i, example := range ns.Examples {
|
||||
in, expected := example[0], example[1]
|
||||
d.WithTemplate = func(templ tpl.TemplateHandler) error {
|
||||
require.NoError(t, templ.AddTemplate("test", in))
|
||||
require.NoError(t, templ.AddTemplate("partials/header.html", "<title>Hugo Rocks!</title>"))
|
||||
return nil
|
||||
}
|
||||
require.NoError(t, d.LoadResources())
|
||||
for _, mm := range ns.MethodMappings {
|
||||
for i, example := range mm.Examples {
|
||||
in, expected := example[0], example[1]
|
||||
d.WithTemplate = func(templ tpl.TemplateHandler) error {
|
||||
require.NoError(t, templ.AddTemplate("test", in))
|
||||
require.NoError(t, templ.AddTemplate("partials/header.html", "<title>Hugo Rocks!</title>"))
|
||||
return nil
|
||||
}
|
||||
require.NoError(t, d.LoadResources())
|
||||
|
||||
var b bytes.Buffer
|
||||
require.NoError(t, d.Tmpl.Lookup("test").Execute(&b, &data))
|
||||
if b.String() != expected {
|
||||
t.Fatalf("%s[%d]: got %q expected %q", ns.Name, i, b.String(), expected)
|
||||
var b bytes.Buffer
|
||||
require.NoError(t, d.Tmpl.Lookup("test").Execute(&b, &data))
|
||||
if b.String() != expected {
|
||||
t.Fatalf("%s[%d]: got %q expected %q", ns.Name, i, b.String(), expected)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user