diff --git a/hugolib/page_test.go b/hugolib/page_test.go index f321a1655..7780a1cff 100644 --- a/hugolib/page_test.go +++ b/hugolib/page_test.go @@ -2,6 +2,7 @@ package hugolib import ( "path/filepath" + "time" "strings" "testing" "html/template" @@ -54,7 +55,7 @@ var SIMPLE_PAGE_JSON = ` Content of the file goes Here ` - +var SIMPLE_PAGE_RFC3339_DATE = "---\ntitle: RFC3339 Date\ndate: \"2013-05-17T16:59:30Z\"\n---\nrfc3339 content" var SIMPLE_PAGE_JSON_MULTIPLE = ` { "title": "foobar", @@ -165,6 +166,12 @@ func checkPageLayout(t *testing.T, page *Page, layout string) { } } +func checkPageDate(t *testing.T, page *Page, time time.Time) { + if page.Date != time { + t.Fatalf("Page date is: %s. Expected: %s", page.Date, time) + } +} + func TestCreateNewPage(t *testing.T) { p, err := ReadFrom(strings.NewReader(SIMPLE_PAGE), "simple") if err != nil { @@ -202,6 +209,18 @@ func TestPageWithMoreTag(t *testing.T) { checkPageLayout(t, p, "page/single.html") } +func TestPageWithDate(t *testing.T) { + p, err := ReadFrom(strings.NewReader(SIMPLE_PAGE_RFC3339_DATE), "simple") + if err != nil { + t.Fatalf("Unable to create a page with frontmatter and body content: %s", err) + } + d, err := time.Parse(time.RFC3339, "2013-05-17T16:59:30Z") + if err != nil { + t.Fatalf("Unable to prase page.") + } + checkPageDate(t, p, d) +} + func TestCreatePage(t *testing.T) { var tests = []struct { r string diff --git a/hugolib/site_test.go b/hugolib/site_test.go index 25171d256..bbe9478b0 100644 --- a/hugolib/site_test.go +++ b/hugolib/site_test.go @@ -17,6 +17,8 @@ content` var TEMPLATE_MISSING_FUNC = "{{ .Title | funcdoesnotexists }}" var TEMPLATE_FUNC = "{{ .Title | urlize }}" var TEMPLATE_CONTENT = "{{ .Content }}" +var TEMPLATE_DATE = "{{ .Date }}" +var INVALID_TEMPLATE_FORMAT_DATE = "{{ .Date.Format time.RFC3339 }}" var PAGE_URL_SPECIFIED = `--- title: simple template @@ -106,6 +108,7 @@ func TestRenderThing(t *testing.T) { {PAGE_SIMPLE_TITLE, TEMPLATE_TITLE, "simple template"}, {PAGE_SIMPLE_TITLE, TEMPLATE_FUNC, "simple-template"}, {PAGE_WITH_MD, TEMPLATE_CONTENT, "

heading 1

\n\n

text

\n\n

heading 2

\n\n

more text

\n"}, + {SIMPLE_PAGE_RFC3339_DATE, TEMPLATE_DATE, "2013-05-17 16:59:30 +0000 UTC"}, } s := new(Site) @@ -129,7 +132,7 @@ func TestRenderThing(t *testing.T) { } if string(html.Bytes()) != test.expected { - t.Errorf("Content does not match. Expected\n\t'%q'\ngot\n\t'%q'", test.expected, html) + t.Errorf("Content does not match.\nExpected\n\t'%q'\ngot\n\t'%q'", test.expected, html) } } }