Make sure Date and PublishDate is always set to a value if one is available

Fixes #3854
This commit is contained in:
Bjørn Erik Pedersen
2017-10-13 10:21:28 +02:00
parent 15ec031d98
commit 6a30874f19
3 changed files with 44 additions and 9 deletions

View File

@@ -714,6 +714,42 @@ func TestPageWithDelimiterForMarkdownThatCrossesBorder(t *testing.T) {
}
}
// Issue #3854
func TestPageWithDateFields(t *testing.T) {
assert := require.New(t)
pageWithDate := `---
title: P%d
weight: %d
%s: 2017-10-13
---
Simple Page With Some Date`
hasBothDates := func(p *Page) bool {
return p.Date.Year() == 2017 && p.PublishDate.Year() == 2017
}
datePage := func(field string, weight int) string {
return fmt.Sprintf(pageWithDate, weight, weight, field)
}
t.Parallel()
assertFunc := func(t *testing.T, ext string, pages Pages) {
assert.True(len(pages) > 0)
for _, p := range pages {
assert.True(hasBothDates(p))
}
}
fields := []string{"date", "publishdate", "pubdate", "published"}
pageContents := make([]string, len(fields))
for i, field := range fields {
pageContents[i] = datePage(field, i+1)
}
testAllMarkdownEnginesForPages(t, assertFunc, nil, pageContents...)
}
// Issue #2601
func TestPageRawContent(t *testing.T) {
t.Parallel()