Avoid panic in invalid language config

Fixes #11046
This commit is contained in:
Bjørn Erik Pedersen
2023-05-30 11:48:17 +02:00
parent a7d6b1413f
commit 6462eecfbd
3 changed files with 60 additions and 16 deletions

View File

@@ -1067,25 +1067,59 @@ LanguageCode: {{ .Site.LanguageCode }}|{{ site.Language.LanguageCode }}|
}
// Issue 11047
func TestConfigYamlNil(t *testing.T) {
func TestConfigMiscPanics(t *testing.T) {
t.Parallel()
files := `
// Issue 11047,
t.Run("empty params", func(t *testing.T) {
files := `
-- hugo.yaml --
params:
-- layouts/index.html --
Foo: {{ site.Params.foo }}|
`
b := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
`
b := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
b.AssertFileContent("public/index.html", "Foo: |")
b.AssertFileContent("public/index.html", "Foo: |")
})
// Issue 11046
t.Run("invalid language setup", func(t *testing.T) {
files := `
-- hugo.toml --
baseURL = "https://example.org"
languageCode = "en-us"
title = "Blog of me"
defaultContentLanguage = "en"
[languages]
[en]
lang = "en"
languageName = "English"
weight = 1
-- layouts/index.html --
Foo: {{ site.Params.foo }}|
`
b, err := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).BuildE()
b.Assert(err, qt.IsNotNil)
b.Assert(err.Error(), qt.Contains, "no languages")
})
}