diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 22beea655..7e9534829 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -1558,3 +1558,60 @@ title: "P1 us" ` Test(t, files) } + +func TestBaseSignalChildParent(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +-- content/_index.md -- +-- content/p1.md -- +-- layouts/_default/baseof.html -- +{{ block "_baseof_start" . }}{{ end }} + + +{{/* Lots of imports of SEO partials, stylesheets, JS and whatnot. */}} + + +{{ $flow := .Store.Get "_baseof_flow" | default "default" }} +{{ if eq $flow "default" }} +
+

Default flow

+ {{ block "main" . }}{{ end }} +
+{{ else if eq $flow "foo" }} +
+

Foo flow

+ {{ block "main" . }}{{ end }} +
+{{ else if eq $flow "bar" }} +
+

Bar flow

+ {{ block "main" . }}{{ end }} +
+{{ end }} + + +-- layouts/index.html -- +{{ define "_baseof_start" }}{{ .Page.Store.Set "_baseof_flow" "foo" }}{{ end }} +{{ define "main" }}Main Home{{ end }} +-- layouts/_default/single.html -- +{{ define "_baseof_start" }}{{ .Page.Store.Set "_baseof_flow" "bar" }}{{ end }} +{{ define "main" }}Main Single{{ end }} + + +` + b := NewIntegrationTestBuilder( + IntegrationTestConfig{ + T: t, + TxtarString: files, + }, + ).Build() + + b.AssertFileContent("public/index.html", ` +Foo flow +Main Home + +`) + +}