diff options
author | Andrew Brampton <bramp@google.com> | 2015-09-07 11:41:02 -0700 |
---|---|---|
committer | spf13 <steve.francia@gmail.com> | 2015-10-05 17:45:37 -0400 |
commit | c2c694f136ab285a077eeac32948ae9474badf47 (patch) | |
tree | 86d86b76f0c1102146c3da2499a22f4fdb95ea1c /helpers/content_renderer_test.go | |
parent | 7ecf2a55c1c9ddddbde35e0b2f8825d7634ef6d3 (diff) |
Add GitHub style code fence support to mmark
Fixes #1258.
Diffstat (limited to 'helpers/content_renderer_test.go')
-rw-r--r-- | helpers/content_renderer_test.go | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/helpers/content_renderer_test.go b/helpers/content_renderer_test.go new file mode 100644 index 000000000..1f520fd0e --- /dev/null +++ b/helpers/content_renderer_test.go @@ -0,0 +1,64 @@ +package helpers +import ( + "testing" + "github.com/spf13/viper" + "bytes" +) + +// Renders a codeblock using Blackfriday +func render(input string) string { + ctx := &RenderingContext{}; + render := GetHTMLRenderer(0, ctx); + + buf := &bytes.Buffer{} + render.BlockCode(buf, []byte(input), "html") + return buf.String() +} + +// Renders a codeblock using Mmark +func renderWithMmark(input string) string { + ctx := &RenderingContext{}; + render := GetMmarkHtmlRenderer(0, ctx); + + buf := &bytes.Buffer{} + render.BlockCode(buf, []byte(input), "html", []byte(""), false, false) + return buf.String() +} + + +func TestCodeFence(t *testing.T) { + + if !HasPygments() { + t.Skip("Skipping Pygments test as Pygments is not installed or available.") + return + } + + type test struct { + enabled bool + input, expected string + } + data := []test{ + {true, "<html></html>", "<div class=\"highlight\"><pre><span class=\"nt\"><html></html></span>\n</pre></div>\n"}, + {false, "<html></html>", "<pre><code class=\"language-html\"><html></html></code></pre>\n"}, + } + + viper.Reset() + defer viper.Reset() + + viper.Set("PygmentsStyle", "monokai") + viper.Set("PygmentsUseClasses", true) + + for i, d := range data { + viper.Set("PygmentsCodeFences", d.enabled) + + result := render(d.input) + if result != d.expected { + t.Errorf("Test %d failed. BlackFriday enabled:%t, Expected:\n%q got:\n%q", i, d.enabled, d.expected, result) + } + + result = renderWithMmark(d.input) + if result != d.expected { + t.Errorf("Test %d failed. Mmark enabled:%t, Expected:\n%q got:\n%q", i, d.enabled, d.expected, result) + } + } +} |