diff options
author | Cameron Moore <[email protected]> | 2018-10-02 21:46:32 -0500 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2018-10-03 09:33:42 +0300 |
commit | 498d6299581bead0f582431b8133d8b5f8760618 (patch) | |
tree | cd7cdda367d5b27e9ad50b861743c9a580b36397 | |
parent | 10ac2ec4466090957e1f6897906ddeb1e0b13673 (diff) | |
download | hugo-498d6299581bead0f582431b8133d8b5f8760618.tar.gz hugo-498d6299581bead0f582431b8133d8b5f8760618.zip |
hugolib: Allow nil to be unwrapped as *Page
Previously, calls to *Page.Eq(nil) would always return false because the
unwrapPage func didn't support the nil case. Add support for unwrapping
nil to a *Page.
Fixes #5043
-rw-r--r-- | hugolib/site_sections.go | 2 | ||||
-rw-r--r-- | hugolib/site_sections_test.go | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/hugolib/site_sections.go b/hugolib/site_sections.go index d27b31614..abcac1d5c 100644 --- a/hugolib/site_sections.go +++ b/hugolib/site_sections.go @@ -152,6 +152,8 @@ func unwrapPage(in interface{}) (*Page, error) { return v.Page, nil case *PageWithoutContent: return v.Page, nil + case nil: + return nil, nil default: return nil, fmt.Errorf("%T not supported", in) } diff --git a/hugolib/site_sections_test.go b/hugolib/site_sections_test.go index 86ae4080c..24bb6a91f 100644 --- a/hugolib/site_sections_test.go +++ b/hugolib/site_sections_test.go @@ -166,6 +166,11 @@ PAG|{{ .Title }}|{{ $sect.InSection . }} assert.Equal("empty3.md", b.Pages[0].File.LogicalName()) }}, + {"empty3", func(p *Page) { + xxx := p.s.getPage(KindPage, "empty3", "nil") + assert.Nil(xxx) + assert.Equal(xxx.Eq(nil), true) + }}, {"top", func(p *Page) { assert.Equal("Tops", p.title) assert.Len(p.Pages, 2) |