}
+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) {
t.Parallel()
testCases := []struct {