Fix panic on no output formats

A page needs its output formats even if it should not be rendered or its resources should not be published.

Fixes #6924
This commit is contained in:
Bjørn Erik Pedersen
2020-02-21 09:02:07 +01:00
parent 4c2a0de412
commit f460530347
5 changed files with 84 additions and 47 deletions

View File

@@ -311,3 +311,37 @@ _build:
b.Assert(b.CheckExists("public/section/bundle-false/data2.json"), qt.Equals, false)
b.AssertFileContent("public/section/bundle-true/data3.json", `Some data 3`)
}
func TestNoRenderAndNoPublishResources(t *testing.T) {
noRenderPage := `
---
title: %s
_build:
render: false
publishResources: false
---
`
b := newTestSitesBuilder(t)
b.WithTemplatesAdded("index.html", `
{{ $page := site.GetPage "sect/no-render" }}
{{ $sect := site.GetPage "sect-no-render" }}
Page: {{ $page.Title }}|RelPermalink: {{ $page.RelPermalink }}|Outputs: {{ len $page.OutputFormats }}
Section: {{ $sect.Title }}|RelPermalink: {{ $sect.RelPermalink }}|Outputs: {{ len $sect.OutputFormats }}
`)
b.WithContent("sect-no-render/_index.md", fmt.Sprintf(noRenderPage, "MySection"))
b.WithContent("sect/no-render.md", fmt.Sprintf(noRenderPage, "MyPage"))
b.Build(BuildCfg{})
b.AssertFileContent("public/index.html", `
Page: MyPage|RelPermalink: |Outputs: 0
Section: MySection|RelPermalink: |Outputs: 0
`)
b.Assert(b.CheckExists("public/sect/no-render/index.html"), qt.Equals, false)
b.Assert(b.CheckExists("public/sect-no-render/index.html"), qt.Equals, false)
}