mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
tplimpl: Add test with failing partial
Main motivation to see that the containing template name is included in the error message name. It is.
This commit is contained in:
parent
5c5efa03d2
commit
0aeadfd02d
1 changed files with 40 additions and 0 deletions
|
@ -2908,6 +2908,46 @@ func TestPartialHTMLAndText(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPartialWithError(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
config := newDepsConfig(viper.New())
|
||||||
|
|
||||||
|
data := struct {
|
||||||
|
Name string
|
||||||
|
}{
|
||||||
|
Name: "bep",
|
||||||
|
}
|
||||||
|
|
||||||
|
config.WithTemplate = func(templ tpl.TemplateHandler) error {
|
||||||
|
if err := templ.AddTemplate("container.html", `HTML Test Partial: {{ partial "fail.foo" . -}}`); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := templ.AddTemplate("partials/fail.foo", "Template: {{ .DoesNotExist }}"); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
de, err := deps.New(config)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.NoError(t, de.LoadResources())
|
||||||
|
|
||||||
|
templ := de.Tmpl.Lookup("container.html")
|
||||||
|
require.NotNil(t, templ)
|
||||||
|
result, err := templ.ExecuteToString(data)
|
||||||
|
require.Error(t, err)
|
||||||
|
|
||||||
|
errStr := err.Error()
|
||||||
|
|
||||||
|
require.Contains(t, errStr, `template: container.html:1:22: executing "container.html" at <partial "fail.foo" .>`)
|
||||||
|
require.Contains(t, errStr, `can't evaluate field DoesNotExist`)
|
||||||
|
|
||||||
|
require.Empty(t, result)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func TestPartialCached(t *testing.T) {
|
func TestPartialCached(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
testCases := []struct {
|
testCases := []struct {
|
||||||
|
|
Loading…
Reference in a new issue