commento/api/markdown_html_test.go

40 lines
1.1 KiB
Go
Raw Permalink Normal View History

package main
import (
"strings"
"testing"
)
func TestMarkdownToHtmlBasics(t *testing.T) {
failTestOnError(t, setupTestEnv())
// basic markdown and expected html tests
tests := map[string]string{
"Foo": "<p>Foo</p>",
"Foo\n\nBar": "<p>Foo</p>\n\n<p>Bar</p>",
"XSS: <script src='http://example.com/script.js'></script> Foo": "<p>XSS: Foo</p>",
"Regular [Link](http://example.com)": "<p>Regular <a href=\"http://example.com\" rel=\"nofollow\">Link</a></p>",
"XSS [Link](data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pgo=)": "<p>XSS <tt>Link</tt></p>",
"![Images disallowed](http://example.com/image.jpg)": "<p></p>",
"**bold** *italics*": "<p><strong>bold</strong> <em>italics</em></p>",
"http://example.com/autolink": "<p><a href=\"http://example.com/autolink\" rel=\"nofollow\">http://example.com/autolink</a></p>",
"<b>not bold</b>": "<p>not bold</p>",
}
for in, out := range tests {
html := strings.TrimSpace(markdownToHtml(in))
if html != out {
t.Errorf("for in=[%s] expected out=[%s] got out=[%s]", in, out, html)
return
}
}
}