mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-25 17:56:34 +08:00
template: add test for custom function
Signed-off-by: Tw <tw19881113@gmail.com>
This commit is contained in:
parent
f28a159b72
commit
790c842fad
|
@ -264,8 +264,7 @@ func ContextInclude(filename string, ctx interface{}, fs http.FileSystem) (strin
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
tpl := template.New(filename).Funcs(TemplateFuncs)
|
tpl, err := template.New(filename).Funcs(TemplateFuncs).Parse(string(body))
|
||||||
tpl, err = tpl.Parse(string(body))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,8 +72,16 @@ func TestInclude(t *testing.T) {
|
||||||
shouldErr: true,
|
shouldErr: true,
|
||||||
expectedErrorContent: `type httpserver.Context`,
|
expectedErrorContent: `type httpserver.Context`,
|
||||||
},
|
},
|
||||||
|
// Test 4 - all good, with custom function
|
||||||
|
{
|
||||||
|
fileContent: `hello {{ caddy }}`,
|
||||||
|
expectedContent: "hello caddy",
|
||||||
|
shouldErr: false,
|
||||||
|
expectedErrorContent: "",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TemplateFuncs["caddy"] = func() string { return "caddy" }
|
||||||
for i, test := range tests {
|
for i, test := range tests {
|
||||||
testPrefix := getTestPrefix(i)
|
testPrefix := getTestPrefix(i)
|
||||||
|
|
||||||
|
|
|
@ -121,6 +121,8 @@ func TestTemplates(t *testing.T) {
|
||||||
|
|
||||||
rec = httptest.NewRecorder()
|
rec = httptest.NewRecorder()
|
||||||
|
|
||||||
|
// register custom function which is used in template
|
||||||
|
httpserver.TemplateFuncs["root"] = func() string { return "root" }
|
||||||
tmplroot.ServeHTTP(rec, req)
|
tmplroot.ServeHTTP(rec, req)
|
||||||
|
|
||||||
if rec.Code != http.StatusOK {
|
if rec.Code != http.StatusOK {
|
||||||
|
|
2
caddyhttp/templates/testdata/root.html
vendored
2
caddyhttp/templates/testdata/root.html
vendored
|
@ -1 +1 @@
|
||||||
<!DOCTYPE html><html><head><title>root</title></head><body>{{.Include "header.html"}}</body></html>
|
<!DOCTYPE html><html><head><title>{{ root }}</title></head><body>{{.Include "header.html"}}</body></html>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user