hugolib: Fix default date assignment for sections
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 5 Apr 2019 09:05:25 +0000 (11:05 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 5 Apr 2019 09:20:09 +0000 (11:20 +0200)
See #5784

hugolib/page_test.go
hugolib/site_sections.go

index 570d09ac657161ddd979d2a4ce07efe8a7282cc5..6d9d337eb374fb1f9ec24ffb3e1ef9e45b416650 100644 (file)
@@ -448,7 +448,7 @@ categories: ["cool stuff"]
 
        b := newTestSitesBuilder(t)
        b.WithSimpleConfigFile().WithContent("page.md", pageContent)
-       b.WithSimpleConfigFile().WithContent("blog/page.md", pageContent)
+       b.WithContent("blog/page.md", pageContent)
 
        b.CreateSites().Build(BuildCfg{})
 
@@ -470,6 +470,34 @@ categories: ["cool stuff"]
 
 }
 
+func TestPageDatesSections(t *testing.T) {
+       t.Parallel()
+       assert := assert.New(t)
+
+       b := newTestSitesBuilder(t)
+       b.WithSimpleConfigFile().WithContent("no-index/page.md", `
+---
+title: Page
+date: 2017-01-15
+---
+`)
+       b.WithSimpleConfigFile().WithContent("with-index-no-date/_index.md", `---
+title: No Date
+---
+
+`)
+
+       b.CreateSites().Build(BuildCfg{})
+
+       assert.Equal(1, len(b.H.Sites))
+       s := b.H.Sites[0]
+
+       assert.Equal(2017, s.getPage("/").Date().Year())
+       assert.Equal(2017, s.getPage("/no-index").Date().Year())
+       assert.True(s.getPage("/with-index-no-date").Date().IsZero())
+
+}
+
 func TestCreateNewPage(t *testing.T) {
        t.Parallel()
        assertFunc := func(t *testing.T, ext string, pages page.Pages) {
index d383e638906e59fa4ed2ca0679874629d3d6abef..9090c3eded43c7c71285d57e95dd48e1af789cc9 100644 (file)
@@ -162,6 +162,7 @@ func (s *Site) assembleSections() pageStatePages {
                        if currentSection != nil {
                                // A new section
                                currentSection.setPages(children)
+                               currentSection.m.Dates = *dates
                        }
 
                        currentSection = p
@@ -176,6 +177,7 @@ func (s *Site) assembleSections() pageStatePages {
                p.parent = currentSection
                children = append(children, p)
                dates.UpdateDateAndLastmodIfAfter(p)
+
                return false
        })