Skip to content

Commit ff49b17

Browse files
authored
Merge pull request #365 from gofiber/jet-raise-error-occured-in-embed()
[jet] raise error occured in embed()
2 parents 230285a + b196311 commit ff49b17

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

jet/jet.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,15 @@ func (e *Engine) Render(out io.Writer, name string, binding interface{}, layout
178178
if err != nil {
179179
return err
180180
}
181+
var renderingError error
181182
bind.Set(e.LayoutName, func() {
182-
err = tmpl.Execute(out, bind, nil)
183+
renderingError = tmpl.Execute(out, bind, nil)
183184
})
184-
return lay.Execute(out, bind, nil)
185+
err = lay.Execute(out, bind, nil)
186+
if renderingError != nil {
187+
return renderingError
188+
}
189+
return err
185190
}
186191
return tmpl.Execute(out, bind, nil)
187192
}

jet/jet_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@ func Test_Layout(t *testing.T) {
6262
require.Equal(t, expect, result)
6363
}
6464

65+
func Test_Layout_Error(t *testing.T) {
66+
t.Parallel()
67+
engine := New("./views", ".jet")
68+
69+
require.NoError(t, engine.Load())
70+
71+
var buf bytes.Buffer
72+
err := engine.Render(&buf, "index", map[string]interface{}{
73+
// "Title": "Hello, World!",
74+
}, "layouts/main")
75+
require.NotNil(t, err)
76+
}
77+
6578
func Test_Empty_Layout(t *testing.T) {
6679
t.Parallel()
6780
engine := New("./views", ".jet")

0 commit comments

Comments
 (0)