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" "testing"
qt "github.com/frankban/quicktest" qt "github.com/frankban/quicktest"
"github.com/gohugoio/hugo/common/loggers"
) )
func TestRenderHookEditNestedPartial(t *testing.T) { func TestRenderHookEditNestedPartial(t *testing.T) {
@ -484,3 +485,15 @@ func TestRenderStringOnListPage(t *testing.T) {
b.AssertFileContent("public/"+filename, `<strong>Hello</strong>`) 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 id string
var filename string var filename string
var path string
if !p.f.IsZero() { if !p.f.IsZero() {
id = p.f.UniqueID() id = p.f.UniqueID()
filename = p.f.Filename() filename = p.f.Filename()
path = p.f.Path()
} else {
path = p.Pathc()
} }
cpp, err := cp.New( cpp, err := cp.New(
converter.DocumentContext{ converter.DocumentContext{
Document: newPageForRenderHook(ps), Document: newPageForRenderHook(ps),
DocumentID: id, DocumentID: id,
DocumentName: p.File().Path(), DocumentName: path,
Filename: filename, Filename: filename,
ConfigOverrides: renderingConfigOverrides, ConfigOverrides: renderingConfigOverrides,
}, },