diff options
author | Bjørn Erik Pedersen <[email protected]> | 2023-05-18 15:50:48 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2023-05-18 17:55:29 +0200 |
commit | 7c647bcaeba7a08955eb3a66a42cf673404731df (patch) | |
tree | abe1f7bc4f021376102b50453a7085474306ac00 | |
parent | 95818e27dc9276c33b853f16137de356606d9f9f (diff) | |
download | hugo-7c647bcaeba7a08955eb3a66a42cf673404731df.tar.gz hugo-7c647bcaeba7a08955eb3a66a42cf673404731df.zip |
Allow empty params.mainSections
Updates #10953
-rw-r--r-- | cache/filecache/integration_test.go | 5 | ||||
-rw-r--r-- | config/allconfig/allconfig.go | 2 | ||||
-rw-r--r-- | config/allconfig/alldecoders.go | 3 | ||||
-rw-r--r-- | hugolib/config_test.go | 26 |
4 files changed, 35 insertions, 1 deletions
diff --git a/cache/filecache/integration_test.go b/cache/filecache/integration_test.go index 909895ec5..a59ea048d 100644 --- a/cache/filecache/integration_test.go +++ b/cache/filecache/integration_test.go @@ -22,6 +22,7 @@ import ( "time" qt "github.com/frankban/quicktest" + "github.com/gohugoio/hugo/htesting" "github.com/gohugoio/hugo/hugolib" ) @@ -51,6 +52,10 @@ title: "Home" } func TestPruneImages(t *testing.T) { + if htesting.IsCI() { + // TODO(bep) + t.Skip("skip flaky test on CI server") + } files := ` -- hugo.toml -- baseURL = "https://example.com" diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index c09962f63..f0b87ee94 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -367,7 +367,7 @@ type ConfigCompiled struct { func (c *ConfigCompiled) SetMainSectionsIfNotSet(sections []string) { c.mu.Lock() defer c.mu.Unlock() - if len(c.MainSections) > 0 { + if c.MainSections != nil { return } c.MainSections = sections diff --git a/config/allconfig/alldecoders.go b/config/allconfig/alldecoders.go index e8536b667..d7adb6e28 100644 --- a/config/allconfig/alldecoders.go +++ b/config/allconfig/alldecoders.go @@ -177,6 +177,9 @@ var allDecoderSetups = map[string]decodeWeight{ // Before Hugo 0.112.0 this was configured via site Params. if mainSections, found := p.c.Params["mainsections"]; found { p.c.MainSections = types.ToStringSlicePreserveString(mainSections) + if p.c.MainSections == nil { + p.c.MainSections = []string{} + } } return nil diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 1baaf7196..994734ce6 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -871,3 +871,29 @@ Param: svParamValue `) } + +func TestConfigEmptyMainSections(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.yml -- +params: + mainSections: +-- content/mysection/_index.md -- +-- content/mysection/mycontent.md -- +-- layouts/index.html -- +mainSections: {{ site.Params.mainSections }} + +` + b := NewIntegrationTestBuilder( + IntegrationTestConfig{ + T: t, + TxtarString: files, + }, + ).Build() + + b.AssertFileContent("public/index.html", ` +mainSections: [] +`) + +} |