resources/page: Let GroupByParam return nil instead of error

Closes #12578
This commit is contained in:
Joe Mooring 2024-06-08 06:45:58 -07:00 committed by Bjørn Erik Pedersen
parent 9c4e14eb4f
commit cba2de6ec9
3 changed files with 13 additions and 19 deletions

View file

@ -427,8 +427,8 @@ mainSections=["a", "b"]
{{/* Behaviour before Hugo 0.112.0. */}} {{/* Behaviour before Hugo 0.112.0. */}}
MainSections Params: {{ site.Params.mainSections }}| MainSections Params: {{ site.Params.mainSections }}|
MainSections Site method: {{ site.MainSections }}| MainSections Site method: {{ site.MainSections }}|
` `
b := Test(t, files) b := Test(t, files)
@ -478,8 +478,8 @@ disableKinds = ['RSS','sitemap','taxonomy','term']
-- layouts/index.html -- -- layouts/index.html --
MainSections Params: {{ site.Params.mainSections }}| MainSections Params: {{ site.Params.mainSections }}|
MainSections Site method: {{ site.MainSections }}| MainSections Site method: {{ site.MainSections }}|
` `
b := Test(t, files) b := Test(t, files)
@ -787,9 +787,12 @@ func TestGroupedPages(t *testing.T) {
t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(byparam[0].Pages)) t.Errorf("PageGroup has unexpected number of pages. First group should have '%d' pages, got '%d' pages", 2, len(byparam[0].Pages))
} }
_, err = s.RegularPages().GroupByParam("not_exist") byNonExistentParam, err := s.RegularPages().GroupByParam("not_exist")
if err == nil { if err != nil {
t.Errorf("GroupByParam didn't return an expected error") t.Errorf("GroupByParam returned an error when it shouldn't")
}
if len(byNonExistentParam) != 0 {
t.Errorf("PageGroup array has unexpected elements. Group length should be '%d', got '%d'", 0, len(byNonExistentParam))
} }
byOnlyOneParam, err := s.RegularPages().GroupByParam("only_one") byOnlyOneParam, err := s.RegularPages().GroupByParam("only_one")

View file

@ -205,7 +205,7 @@ func (p Pages) GroupByParam(key string, order ...string) (PagesGroup, error) {
} }
} }
if !tmp.IsValid() { if !tmp.IsValid() {
return nil, errors.New("there is no such param") return nil, nil
} }
for _, e := range p { for _, e := range p {

View file

@ -142,15 +142,6 @@ func TestGroupByCalledWithEmptyPages(t *testing.T) {
} }
} }
func TestGroupByParamCalledWithUnavailableKey(t *testing.T) {
t.Parallel()
pages := preparePageGroupTestPages(t)
_, err := pages.GroupByParam("UnavailableKey")
if err == nil {
t.Errorf("GroupByParam should return an error but didn't")
}
}
func TestReverse(t *testing.T) { func TestReverse(t *testing.T) {
t.Parallel() t.Parallel()
pages := preparePageGroupTestPages(t) pages := preparePageGroupTestPages(t)
@ -256,8 +247,8 @@ func TestGroupByParamCalledWithUnavailableParam(t *testing.T) {
t.Parallel() t.Parallel()
pages := preparePageGroupTestPages(t) pages := preparePageGroupTestPages(t)
_, err := pages.GroupByParam("unavailable_param") _, err := pages.GroupByParam("unavailable_param")
if err == nil { if err != nil {
t.Errorf("GroupByParam should return an error but didn't") t.Errorf("GroupByParam returned an error when it shouldn't")
} }
} }