Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-08-19 10:15:14 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-08-19 11:01:16 +0300
commitae63c2b5c94f68fbabd5dbd821630e747e8959a4 (patch)
tree7ed3f4ca9adb28841b62872c40339a177cd05a5f /hugolib
parente627449c0a2f1d2ffac29357c4f1832fc5462870 (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.go81
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))
+
+ })
}