Fix erroneous warning with .Page.RenderString on a page without a backing file

Fixes #9433
This commit is contained in:
Bjørn Erik Pedersen 2022-01-28 09:45:11 +01:00
parent c05c99f0c5
commit ef7d14a241
2 changed files with 18 additions and 1 deletions

View file

@ -18,6 +18,7 @@ import (
"testing"
qt "github.com/frankban/quicktest"
"github.com/gohugoio/hugo/common/loggers"
)
func TestRenderHookEditNestedPartial(t *testing.T) {
@ -484,3 +485,15 @@ func TestRenderStringOnListPage(t *testing.T) {
b.AssertFileContent("public/"+filename, `<strong>Hello</strong>`)
}
}
// Issue 9433
func TestRenderStringOnPageNotBackedByAFile(t *testing.T) {
t.Parallel()
logger := loggers.NewWarningLogger()
b := newTestSitesBuilder(t).WithLogger(logger).WithConfigFile("toml", `
disableKinds = ["page", "section", "taxonomy", "term"]
`)
b.WithTemplates("index.html", `{{ .RenderString "**Hello**" }}`).WithContent("p1.md", "")
b.BuildE(BuildCfg{})
b.Assert(int(logger.LogCounters().WarnCounter.Count()), qt.Equals, 0)
}

View file

@ -768,16 +768,20 @@ func (p *pageMeta) newContentConverter(ps *pageState, markup string, renderingCo
var id string
var filename string
var path string
if !p.f.IsZero() {
id = p.f.UniqueID()
filename = p.f.Filename()
path = p.f.Path()
} else {
path = p.Pathc()
}
cpp, err := cp.New(
converter.DocumentContext{
Document: newPageForRenderHook(ps),
DocumentID: id,
DocumentName: p.File().Path(),
DocumentName: path,
Filename: filename,
ConfigOverrides: renderingConfigOverrides,
},