]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Return error when .Render is invoked without arg
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 13 Jul 2023 13:01:41 +0000 (15:01 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 13 Jul 2023 16:06:36 +0000 (18:06 +0200)
Fixes #11243

hugolib/page__per_output.go
hugolib/page_test.go

index 65809a377867912c543bf68e30bfb19ca5b365bb..89dc5ac77a69e588282d916aa432f51b79aa1a3a 100644 (file)
@@ -557,6 +557,9 @@ func (p *pageContentOutput) RenderWithTemplateInfo(ctx context.Context, info tpl
 }
 
 func (p *pageContentOutput) Render(ctx context.Context, layout ...string) (template.HTML, error) {
+       if len(layout) == 0 {
+               return "", errors.New("no layout given")
+       }
        templ, found, err := p.p.resolveTemplate(layout...)
        if err != nil {
                return "", p.p.wrapError(err)
index 162f260527c572cd52acd9a52cf7481c3ecd1411..5237b6340965f5f56d38940b637d40cc5621ccbc 100644 (file)
@@ -1983,3 +1983,25 @@ title: "p2"
        b.Assert(identity.HashString(p1), qt.Not(qt.Equals), identity.HashString(p2))
        b.Assert(identity.HashString(sites[0]), qt.Not(qt.Equals), identity.HashString(sites[1]))
 }
+
+// Issue #11243
+func TestRenderWithoutArgument(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+-- layouts/index.html --
+{{ .Render }}
+`
+
+       b, err := NewIntegrationTestBuilder(
+               IntegrationTestConfig{
+                       T:           t,
+                       TxtarString: files,
+                       Running:     true,
+               },
+       ).BuildE()
+
+       b.Assert(err, qt.IsNotNil)
+
+}