common/maps: Do not return error on params dot access on incompatible types

This error was introduced in 0.56 and has shown some site breakage in the wild.

Fixes #6121
This commit is contained in:
Bjørn Erik Pedersen
2019-07-28 12:31:32 +02:00
parent 93d02aabe6
commit e393c6290e
3 changed files with 62 additions and 3 deletions

View File

@@ -1543,3 +1543,58 @@ title: Scratch Me!
b.AssertFileContent("public/index.html", "B: bv")
b.AssertFileContent("public/scratchme/index.html", "C: cv")
}
func TestPageParam(t *testing.T) {
t.Parallel()
b := newTestSitesBuilder(t).WithConfigFile("toml", `
baseURL = "https://example.org"
[params]
[params.author]
name = "Kurt Vonnegut"
`)
b.WithTemplatesAdded("index.html", `
{{ $withParam := .Site.GetPage "withparam" }}
{{ $noParam := .Site.GetPage "noparam" }}
{{ $withStringParam := .Site.GetPage "withstringparam" }}
Author page: {{ $withParam.Param "author.name" }}
Author page string: {{ $withStringParam.Param "author.name" }}|
Author site config: {{ $noParam.Param "author.name" }}
`,
)
b.WithContent("withparam.md", `
+++
title = "With Param!"
[author]
name = "Ernest Miller Hemingway"
+++
`,
"noparam.md", `
---
title: "No Param!"
---
`, "withstringparam.md", `
+++
title = "With string Param!"
author = "Jo Nesbø"
+++
`)
b.Build(BuildCfg{})
b.AssertFileContent("public/index.html", "Author page: Ernest Miller Hemingway")
b.AssertFileContent("public/index.html", "Author page string: |")
b.AssertFileContent("public/index.html", "Author site config: Kurt Vonnegut")
}