diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-08-19 09:15:14 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-08-19 10:01:16 +0200 |
commit | ae63c2b5c94f68fbabd5dbd821630e747e8959a4 (patch) | |
tree | 7ed3f4ca9adb28841b62872c40339a177cd05a5f /hugolib | |
parent | e627449c0a2f1d2ffac29357c4f1832fc5462870 (diff) |
Fail on partials with return when given none or a zero argument
We need to make a proper fix for this, but it is better with an error than just silently continue.
Fixes #7572
Updates #7528
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/template_test.go | 81 |
1 files changed, 59 insertions, 22 deletions
diff --git a/hugolib/template_test.go b/hugolib/template_test.go index a215f09dc..6f37b4164 100644 --- a/hugolib/template_test.go +++ b/hugolib/template_test.go @@ -424,42 +424,79 @@ Hugo: {{ hugo.Generator }} func TestPartialWithReturn(t *testing.T) { - b := newTestSitesBuilder(t).WithSimpleConfigFile() - - b.WithTemplatesAdded( - "index.html", ` -Test Partials With Return Values: + c := qt.New(t) -add42: 50: {{ partial "add42.tpl" 8 }} -dollarContext: 60: {{ partial "dollarContext.tpl" 18 }} -adder: 70: {{ partial "dict.tpl" (dict "adder" 28) }} -complex: 80: {{ partial "complex.tpl" 38 }} -`, - "partials/add42.tpl", ` + newBuilder := func(t testing.TB) *sitesBuilder { + b := newTestSitesBuilder(t).WithSimpleConfigFile() + b.WithTemplatesAdded( + "partials/add42.tpl", ` {{ $v := add . 42 }} {{ return $v }} `, - "partials/dollarContext.tpl", ` + "partials/dollarContext.tpl", ` {{ $v := add $ 42 }} {{ return $v }} `, - "partials/dict.tpl", ` + "partials/dict.tpl", ` {{ $v := add $.adder 42 }} {{ return $v }} `, - "partials/complex.tpl", ` + "partials/complex.tpl", ` {{ return add . 42 }} +`, "partials/hello.tpl", ` + {{ $v := printf "hello %s" . }} + {{ return $v }} + `, + ) + + return b + + } + + c.Run("Return", func(c *qt.C) { + b := newBuilder(c) + + b.WithTemplatesAdded( + "index.html", ` +Test Partials With Return Values: + +add42: 50: {{ partial "add42.tpl" 8 }} +hello world: {{ partial "hello.tpl" "world" }} +dollarContext: 60: {{ partial "dollarContext.tpl" 18 }} +adder: 70: {{ partial "dict.tpl" (dict "adder" 28) }} +complex: 80: {{ partial "complex.tpl" 38 }} `, - ) + ) - b.CreateSites().Build(BuildCfg{}) + b.CreateSites().Build(BuildCfg{}) - b.AssertFileContent("public/index.html", - "add42: 50: 50", - "dollarContext: 60: 60", - "adder: 70: 70", - "complex: 80: 80", - ) + b.AssertFileContent("public/index.html", ` +add42: 50: 50 +hello world: hello world +dollarContext: 60: 60 +adder: 70: 70 +complex: 80: 80 +`, + ) + + }) + + c.Run("Zero argument", func(c *qt.C) { + b := newBuilder(c) + + b.WithTemplatesAdded( + "index.html", ` +Test Partials With Return Values: + +add42: fail: {{ partial "add42.tpl" 0 }} + +`, + ) + + e := b.CreateSites().BuildE(BuildCfg{}) + b.Assert(e, qt.Not(qt.IsNil)) + + }) } |