shithub: hugo

Download patch

ref: 1d9dde82a0577d93eea8ed0a7ec0b4ae3068eb19
parent: 87b16abd93ff60acd245776d5b0d914fd580c259
author: Bjørn Erik Pedersen <[email protected]>
date: Fri Apr 5 07:05:25 EDT 2019

hugolib: Fix default date assignment for sections

See #5784

--- a/hugolib/page_test.go
+++ b/hugolib/page_test.go
@@ -448,7 +448,7 @@
 
 	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{})
 
@@ -467,6 +467,34 @@
 		checkDated(p, p.Kind())
 	}
 	checkDate(s.Info.LastChange(), "site")
+
+}
+
+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())
 
 }
 
--- a/hugolib/site_sections.go
+++ b/hugolib/site_sections.go
@@ -162,6 +162,7 @@
 			if currentSection != nil {
 				// A new section
 				currentSection.setPages(children)
+				currentSection.m.Dates = *dates
 			}
 
 			currentSection = p
@@ -176,6 +177,7 @@
 		p.parent = currentSection
 		children = append(children, p)
 		dates.UpdateDateAndLastmodIfAfter(p)
+
 		return false
 	})