commento/api/markdown_html_test.go
Adhityaa a090770b73 api: Add go files
I know this is a huge commit, but I can't be bothered to check
this in part by part.
2018-05-27 23:40:46 +05:30

40 lines
1.1 KiB
Go

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
}
}
}