Add draft test
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 11 Oct 2016 16:12:28 +0000 (18:12 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Tue, 11 Oct 2016 16:12:28 +0000 (18:12 +0200)
See #2549

hugolib/page_test.go

index 7cdc5589815f3e8e0bd870f0052af928eac8c9ee..a95670b2817cf5e996191363de1e5a09d8cbb678 100644 (file)
@@ -1128,7 +1128,7 @@ func TestDraftAndPublishedFrontMatterError(t *testing.T) {
        }
 }
 
-var pageWithPublishedFalse = `---
+var pagesWithPublishedFalse = `---
 title: okay
 published: false
 ---
@@ -1142,7 +1142,7 @@ some content
 `
 
 func TestPublishedFrontMatter(t *testing.T) {
-       p, err := NewPageFrom(strings.NewReader(pageWithPublishedFalse), "content/post/broken.md")
+       p, err := NewPageFrom(strings.NewReader(pagesWithPublishedFalse), "content/post/broken.md")
        if err != nil {
                t.Fatalf("err during parse: %s", err)
        }
@@ -1158,6 +1158,36 @@ func TestPublishedFrontMatter(t *testing.T) {
        }
 }
 
+var pagesDraftTemplate = []string{`---
+title: "okay"
+draft: %t
+---
+some content
+`,
+       `+++
+title = "okay"
+draft = %t
++++
+
+some content
+`,
+}
+
+func TestDraft(t *testing.T) {
+       for _, draft := range []bool{true, false} {
+               for i, templ := range pagesDraftTemplate {
+                       pageContent := fmt.Sprintf(templ, draft)
+                       p, err := NewPageFrom(strings.NewReader(pageContent), "content/post/broken.md")
+                       if err != nil {
+                               t.Fatalf("err during parse: %s", err)
+                       }
+                       if p.Draft != draft {
+                               t.Errorf("[%d] expected %t, got %t", i, draft, p.Draft)
+                       }
+               }
+       }
+}
+
 func TestPageSimpleMethods(t *testing.T) {
        for i, this := range []struct {
                assertFunc func(p *Page) bool