Commit fd14f257 authored by Matthew Holt's avatar Matthew Holt

markdown: Add (currently failing) test for empty body

parent d044e497
...@@ -14,8 +14,7 @@ func check(t *testing.T, err error) { ...@@ -14,8 +14,7 @@ func check(t *testing.T, err error) {
} }
} }
func TestParsers(t *testing.T) { var TOML = [5]string{`
var TOML = [4]string{`
title = "A title" title = "A title"
template = "default" template = "default"
name = "value" name = "value"
...@@ -33,9 +32,15 @@ template = "default" ...@@ -33,9 +32,15 @@ template = "default"
name = "value" name = "value"
`, `,
`title = "A title" template = "default" [variables] name = "value"`, `title = "A title" template = "default" [variables] name = "value"`,
} `+++
title = "A title"
template = "default"
name = "value"
+++
`,
}
var YAML = [4]string{` var YAML = [5]string{`
title : A title title : A title
template : default template : default
name : value name : value
...@@ -53,11 +58,18 @@ template : default ...@@ -53,11 +58,18 @@ template : default
name : value name : value
`, `,
`title : A title template : default variables : name : value`, `title : A title template : default variables : name : value`,
} `---
var JSON = [4]string{` title : A title
"title" : "A title", template : default
"template" : "default", name : value
"name" : "value" ---
`,
}
var JSON = [5]string{`
"title" : "A title",
"template" : "default",
"name" : "value"
`, `,
`{ `{
"title" : "A title", "title" : "A title",
...@@ -73,13 +85,21 @@ Page content ...@@ -73,13 +85,21 @@ Page content
"name" : "value" "name" : "value"
`, `,
` `
{{ {
"title" : "A title", "title" :: "A title",
"template" : "default", "template" : "default",
"name" : "value" "name" : "value"
} }
`, `,
} `{
"title" : "A title",
"template" : "default",
"name" : "value"
}
`,
}
func TestParsers(t *testing.T) {
expected := Metadata{ expected := Metadata{
Title: "A title", Title: "A title",
Template: "default", Template: "default",
...@@ -106,7 +126,7 @@ Page content ...@@ -106,7 +126,7 @@ Page content
data := []struct { data := []struct {
parser MetadataParser parser MetadataParser
testData [4]string testData [5]string
name string name string
}{ }{
{&JSONMetadataParser{metadata: Metadata{Variables: make(map[string]string)}}, JSON, "json"}, {&JSONMetadataParser{metadata: Metadata{Variables: make(map[string]string)}}, JSON, "json"},
...@@ -149,6 +169,11 @@ Page content ...@@ -149,6 +169,11 @@ Page content
if md, err = v.parser.Parse([]byte(v.testData[3])); err == nil { if md, err = v.parser.Parse([]byte(v.testData[3])); err == nil {
t.Fatalf("Expected error for invalid metadata for %v", v.name) t.Fatalf("Expected error for invalid metadata for %v", v.name)
} }
// front matter but no body
if md, err = v.parser.Parse([]byte(v.testData[4])); err != nil {
t.Fatalf("Unexpected error for valid metadata but no body for %v", v.name)
}
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment