1
0
mirror of https://github.com/danog/blackfriday.git synced 2024-11-26 12:04:46 +01:00

Run tests in parallel (#480)

Fixes #475
This commit is contained in:
Cameron Moore 2018-09-07 16:47:14 -05:00 committed by Vytautas Šaltenis
parent 2ab1ea34bd
commit 646308596a
5 changed files with 64 additions and 0 deletions

View File

@ -19,6 +19,7 @@ import (
)
func TestPrefixHeaderNoExtensions(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header 1\n",
"<h1>Header 1</h1>\n",
@ -88,6 +89,7 @@ func TestPrefixHeaderNoExtensions(t *testing.T) {
}
func TestPrefixHeaderSpaceExtension(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header 1\n",
"<h1>Header 1</h1>\n",
@ -148,6 +150,7 @@ func TestPrefixHeaderSpaceExtension(t *testing.T) {
}
func TestPrefixHeaderIdExtension(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header 1 {#someid}\n",
"<h1 id=\"someid\">Header 1</h1>\n",
@ -208,6 +211,7 @@ func TestPrefixHeaderIdExtension(t *testing.T) {
}
func TestPrefixHeaderIdExtensionWithPrefixAndSuffix(t *testing.T) {
t.Parallel()
var tests = []string{
"# header 1 {#someid}\n",
"<h1 id=\"PRE:someid:POST\">header 1</h1>\n",
@ -260,6 +264,7 @@ func TestPrefixHeaderIdExtensionWithPrefixAndSuffix(t *testing.T) {
}
func TestPrefixAutoHeaderIdExtension(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header 1\n",
"<h1 id=\"header-1\">Header 1</h1>\n",
@ -311,6 +316,7 @@ func TestPrefixAutoHeaderIdExtension(t *testing.T) {
}
func TestPrefixAutoHeaderIdExtensionWithPrefixAndSuffix(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header 1\n",
"<h1 id=\"PRE:header-1:POST\">Header 1</h1>\n",
@ -372,6 +378,7 @@ func TestPrefixAutoHeaderIdExtensionWithPrefixAndSuffix(t *testing.T) {
}
func TestPrefixHeaderLevelOffset(t *testing.T) {
t.Parallel()
var offsetTests = []struct {
offset int
tests []string
@ -458,6 +465,7 @@ func TestPrefixHeaderLevelOffset(t *testing.T) {
}
func TestPrefixMultipleHeaderExtensions(t *testing.T) {
t.Parallel()
var tests = []string{
"# Header\n\n# Header {#header}\n\n# Header 1",
"<h1 id=\"header\">Header</h1>\n\n<h1 id=\"header-1\">Header</h1>\n\n<h1 id=\"header-1-1\">Header 1</h1>\n",
@ -466,6 +474,7 @@ func TestPrefixMultipleHeaderExtensions(t *testing.T) {
}
func TestUnderlineHeaders(t *testing.T) {
t.Parallel()
var tests = []string{
"Header 1\n========\n",
"<h1>Header 1</h1>\n",
@ -516,6 +525,7 @@ func TestUnderlineHeaders(t *testing.T) {
}
func TestUnderlineHeadersAutoIDs(t *testing.T) {
t.Parallel()
var tests = []string{
"Header 1\n========\n",
"<h1 id=\"header-1\">Header 1</h1>\n",
@ -566,6 +576,7 @@ func TestUnderlineHeadersAutoIDs(t *testing.T) {
}
func TestHorizontalRule(t *testing.T) {
t.Parallel()
var tests = []string{
"-\n",
"<p>-</p>\n",
@ -631,6 +642,7 @@ func TestHorizontalRule(t *testing.T) {
}
func TestUnorderedList(t *testing.T) {
t.Parallel()
var tests = []string{
"* Hello\n",
"<ul>\n<li>Hello</li>\n</ul>\n",
@ -742,6 +754,7 @@ func TestUnorderedList(t *testing.T) {
}
func TestOrderedList(t *testing.T) {
t.Parallel()
var tests = []string{
"1. Hello\n",
"<ol>\n<li>Hello</li>\n</ol>\n",
@ -838,6 +851,7 @@ func TestOrderedList(t *testing.T) {
}
func TestDefinitionList(t *testing.T) {
t.Parallel()
var tests = []string{
"Term 1\n: Definition a\n",
"<dl>\n<dt>Term 1</dt>\n<dd>Definition a</dd>\n</dl>\n",
@ -940,6 +954,7 @@ func TestDefinitionList(t *testing.T) {
}
func TestConsecutiveLists(t *testing.T) {
t.Parallel()
var tests = []string{
"1. Hello\n\n* Hello\n\nTerm 1\n: Definition a\n",
"<ol>\n<li>Hello</li>\n</ol>\n\n<ul>\n<li>Hello</li>\n</ul>\n\n<dl>\n<dt>Term 1</dt>\n<dd>Definition a</dd>\n</dl>\n",
@ -951,6 +966,7 @@ func TestConsecutiveLists(t *testing.T) {
}
func TestPreformattedHtml(t *testing.T) {
t.Parallel()
var tests = []string{
"<div></div>\n",
"<div></div>\n",
@ -1004,6 +1020,7 @@ func TestPreformattedHtml(t *testing.T) {
}
func TestPreformattedHtmlLax(t *testing.T) {
t.Parallel()
var tests = []string{
"Paragraph\n<div>\nHere? >&<\n</div>\n",
"<p>Paragraph</p>\n\n<div>\nHere? >&<\n</div>\n",
@ -1027,6 +1044,7 @@ func TestPreformattedHtmlLax(t *testing.T) {
}
func TestFencedCodeBlock(t *testing.T) {
t.Parallel()
var tests = []string{
"``` go\nfunc foo() bool {\n\treturn true;\n}\n```\n",
"<pre><code class=\"language-go\">func foo() bool {\n\treturn true;\n}\n</code></pre>\n",
@ -1122,6 +1140,7 @@ func TestFencedCodeBlock(t *testing.T) {
}
func TestFencedCodeInsideBlockquotes(t *testing.T) {
t.Parallel()
cat := func(s ...string) string { return strings.Join(s, "\n") }
var tests = []string{
cat("> ```go",
@ -1234,6 +1253,7 @@ okay
}
func TestTable(t *testing.T) {
t.Parallel()
var tests = []string{
"a | b\n---|---\nc | d\n",
"<table>\n<thead>\n<tr>\n<th>a</th>\n<th>b</th>\n</tr>\n</thead>\n\n" +
@ -1281,6 +1301,7 @@ func TestTable(t *testing.T) {
}
func TestUnorderedListWith_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
t.Parallel()
var tests = []string{
"* Hello\n",
"<ul>\n<li>Hello</li>\n</ul>\n",
@ -1392,6 +1413,7 @@ func TestUnorderedListWith_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
}
func TestOrderedList_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
t.Parallel()
var tests = []string{
"1. Hello\n",
"<ol>\n<li>Hello</li>\n</ol>\n",
@ -1488,6 +1510,7 @@ func TestOrderedList_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
}
func TestFencedCodeBlock_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
t.Parallel()
var tests = []string{
"``` go\nfunc foo() bool {\n\treturn true;\n}\n```\n",
"<pre><code class=\"language-go\">func foo() bool {\n\treturn true;\n}\n</code></pre>\n",
@ -1562,6 +1585,7 @@ func TestFencedCodeBlock_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
}
func TestListWithFencedCodeBlock(t *testing.T) {
t.Parallel()
var tests = []string{
"1. one\n\n ```\n code\n ```\n\n2. two\n",
"<ol>\n<li><p>one</p>\n\n<pre><code>code\n</code></pre></li>\n\n<li><p>two</p></li>\n</ol>\n",
@ -1573,6 +1597,7 @@ func TestListWithFencedCodeBlock(t *testing.T) {
}
func TestListWithMalformedFencedCodeBlock(t *testing.T) {
t.Parallel()
// Ensure that in the case of an unclosed fenced code block in a list,
// no source gets ommitted (even if it is malformed).
// See russross/blackfriday#372 for context.
@ -1587,6 +1612,7 @@ func TestListWithMalformedFencedCodeBlock(t *testing.T) {
}
func TestListWithFencedCodeBlockNoExtensions(t *testing.T) {
t.Parallel()
// If there is a fenced code block in a list, and FencedCode is not set,
// lists should be processed normally.
var tests = []string{
@ -1600,6 +1626,7 @@ func TestListWithFencedCodeBlockNoExtensions(t *testing.T) {
}
func TestTitleBlock_EXTENSION_TITLEBLOCK(t *testing.T) {
t.Parallel()
var tests = []string{
"% Some title\n" +
"% Another title line\n" +
@ -1614,6 +1641,7 @@ func TestTitleBlock_EXTENSION_TITLEBLOCK(t *testing.T) {
}
func TestBlockComments(t *testing.T) {
t.Parallel()
var tests = []string{
"Some text\n\n<!-- comment -->\n",
"<p>Some text</p>\n\n<!-- comment -->\n",
@ -1628,6 +1656,7 @@ func TestBlockComments(t *testing.T) {
}
func TestTOC(t *testing.T) {
t.Parallel()
var tests = []string{
"# Title\n\n##Subtitle1\n\n##Subtitle2",
//"<nav>\n<ul>\n<li><a href=\"#toc_0\">Title</a>\n<ul>\n<li><a href=\"#toc_1\">Subtitle1</a></li>\n<li><a href=\"#toc_2\">Subtitle2</a></li>\n</ul></li>\n</ul>\n</nav>\n\n<h1 id=\"toc_0\">Title</h1>\n\n<h2 id=\"toc_1\">Subtitle1</h2>\n\n<h2 id=\"toc_2\">Subtitle2</h2>\n",
@ -1748,6 +1777,7 @@ func TestTOC(t *testing.T) {
}
func TestCompletePage(t *testing.T) {
t.Parallel()
var tests = []string{
"*foo*",
`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@ -1769,6 +1799,7 @@ func TestCompletePage(t *testing.T) {
}
func TestIsFenceLine(t *testing.T) {
t.Parallel()
tests := []struct {
data []byte
infoRequested bool

View File

@ -6,6 +6,7 @@ import (
)
func TestEsc(t *testing.T) {
t.Parallel()
tests := []string{
"abc", "abc",
"a&c", "a&amp;c",

View File

@ -21,6 +21,7 @@ import (
)
func TestEmphasis(t *testing.T) {
t.Parallel()
var tests = []string{
"nothing inline\n",
"<p>nothing inline</p>\n",
@ -77,6 +78,7 @@ func TestEmphasis(t *testing.T) {
}
func TestReferenceOverride(t *testing.T) {
t.Parallel()
var tests = []string{
"test [ref1][]\n",
"<p>test <a href=\"http://www.ref1.com/\" title=\"Reference 1\">ref1</a></p>\n",
@ -135,6 +137,7 @@ func TestReferenceOverride(t *testing.T) {
}
func TestStrong(t *testing.T) {
t.Parallel()
var tests = []string{
"nothing inline\n",
"<p>nothing inline</p>\n",
@ -194,6 +197,7 @@ func TestStrong(t *testing.T) {
}
func TestEmphasisMix(t *testing.T) {
t.Parallel()
var tests = []string{
"***triple emphasis***\n",
"<p><strong><em>triple emphasis</em></strong></p>\n",
@ -223,6 +227,7 @@ func TestEmphasisMix(t *testing.T) {
}
func TestEmphasisLink(t *testing.T) {
t.Parallel()
var tests = []string{
"[first](before) *text[second] (inside)text* [third](after)\n",
"<p><a href=\"before\">first</a> <em>text<a href=\"inside\">second</a>text</em> <a href=\"after\">third</a></p>\n",
@ -240,6 +245,7 @@ func TestEmphasisLink(t *testing.T) {
}
func TestStrikeThrough(t *testing.T) {
t.Parallel()
var tests = []string{
"nothing inline\n",
"<p>nothing inline</p>\n",
@ -269,6 +275,7 @@ func TestStrikeThrough(t *testing.T) {
}
func TestCodeSpan(t *testing.T) {
t.Parallel()
var tests = []string{
"`source code`\n",
"<p><code>source code</code></p>\n",
@ -307,6 +314,7 @@ func TestCodeSpan(t *testing.T) {
}
func TestLineBreak(t *testing.T) {
t.Parallel()
var tests = []string{
"this line \nhas a break\n",
"<p>this line<br />\nhas a break</p>\n",
@ -346,6 +354,7 @@ func TestLineBreak(t *testing.T) {
}
func TestInlineLink(t *testing.T) {
t.Parallel()
var tests = []string{
"[foo](/bar/)\n",
"<p><a href=\"/bar/\">foo</a></p>\n",
@ -463,6 +472,7 @@ func TestInlineLink(t *testing.T) {
}
func TestRelAttrLink(t *testing.T) {
t.Parallel()
var nofollowTests = []string{
"[foo](http://bar.com/foo/)\n",
"<p><a href=\"http://bar.com/foo/\" rel=\"nofollow\">foo</a></p>\n",
@ -521,6 +531,7 @@ func TestRelAttrLink(t *testing.T) {
}
func TestHrefTargetBlank(t *testing.T) {
t.Parallel()
var tests = []string{
// internal link
"[foo](/bar/)\n",
@ -550,6 +561,7 @@ func TestHrefTargetBlank(t *testing.T) {
}
func TestSafeInlineLink(t *testing.T) {
t.Parallel()
var tests = []string{
"[foo](/bar/)\n",
"<p><a href=\"/bar/\">foo</a></p>\n",
@ -583,6 +595,7 @@ func TestSafeInlineLink(t *testing.T) {
}
func TestReferenceLink(t *testing.T) {
t.Parallel()
var tests = []string{
"[link][ref]\n",
"<p>[link][ref]</p>\n",
@ -621,6 +634,7 @@ func TestReferenceLink(t *testing.T) {
}
func TestTags(t *testing.T) {
t.Parallel()
var tests = []string{
"a <span>tag</span>\n",
"<p>a <span>tag</span></p>\n",
@ -638,6 +652,7 @@ func TestTags(t *testing.T) {
}
func TestAutoLink(t *testing.T) {
t.Parallel()
var tests = []string{
"http://foo.com/\n",
"<p><a href=\"http://foo.com/\">http://foo.com/</a></p>\n",
@ -943,12 +958,14 @@ what happens here
}
func TestFootnotes(t *testing.T) {
t.Parallel()
doTestsInlineParam(t, footnoteTests, TestParams{
extensions: Footnotes,
})
}
func TestFootnotesWithParameters(t *testing.T) {
t.Parallel()
tests := make([]string, len(footnoteTests))
prefix := "testPrefix"
@ -978,6 +995,7 @@ func TestFootnotesWithParameters(t *testing.T) {
}
func TestNestedFootnotes(t *testing.T) {
t.Parallel()
var tests = []string{
`Paragraph.[^fn1]
@ -1005,6 +1023,7 @@ func TestNestedFootnotes(t *testing.T) {
}
func TestInlineComments(t *testing.T) {
t.Parallel()
var tests = []string{
"Hello <!-- there ->\n",
"<p>Hello &lt;!&mdash; there &ndash;&gt;</p>\n",
@ -1034,6 +1053,7 @@ func TestInlineComments(t *testing.T) {
}
func TestSmartDoubleQuotes(t *testing.T) {
t.Parallel()
var tests = []string{
"this should be normal \"quoted\" text.\n",
"<p>this should be normal &ldquo;quoted&rdquo; text.</p>\n",
@ -1046,6 +1066,7 @@ func TestSmartDoubleQuotes(t *testing.T) {
}
func TestSmartDoubleQuotesNBSP(t *testing.T) {
t.Parallel()
var tests = []string{
"this should be normal \"quoted\" text.\n",
"<p>this should be normal &ldquo;&nbsp;quoted&nbsp;&rdquo; text.</p>\n",
@ -1058,6 +1079,7 @@ func TestSmartDoubleQuotesNBSP(t *testing.T) {
}
func TestSmartAngledDoubleQuotes(t *testing.T) {
t.Parallel()
var tests = []string{
"this should be angled \"quoted\" text.\n",
"<p>this should be angled &laquo;quoted&raquo; text.</p>\n",
@ -1070,6 +1092,7 @@ func TestSmartAngledDoubleQuotes(t *testing.T) {
}
func TestSmartAngledDoubleQuotesNBSP(t *testing.T) {
t.Parallel()
var tests = []string{
"this should be angled \"quoted\" text.\n",
"<p>this should be angled &laquo;&nbsp;quoted&nbsp;&raquo; text.</p>\n",
@ -1082,6 +1105,7 @@ func TestSmartAngledDoubleQuotesNBSP(t *testing.T) {
}
func TestSmartFractions(t *testing.T) {
t.Parallel()
var tests = []string{
"1/2, 1/4 and 3/4; 1/4th and 3/4ths\n",
"<p>&frac12;, &frac14; and &frac34;; &frac14;th and &frac34;ths</p>\n",
@ -1100,6 +1124,7 @@ func TestSmartFractions(t *testing.T) {
}
func TestDisableSmartDashes(t *testing.T) {
t.Parallel()
doTestsInlineParam(t, []string{
"foo - bar\n",
"<p>foo - bar</p>\n",
@ -1135,6 +1160,7 @@ func TestDisableSmartDashes(t *testing.T) {
}
func TestSkipLinks(t *testing.T) {
t.Parallel()
doTestsInlineParam(t, []string{
"[foo](gopher://foo.bar)",
"<p><tt>foo</tt></p>\n",
@ -1147,6 +1173,7 @@ func TestSkipLinks(t *testing.T) {
}
func TestSkipImages(t *testing.T) {
t.Parallel()
doTestsInlineParam(t, []string{
"![foo](/bar/)\n",
"<p></p>\n",
@ -1156,6 +1183,7 @@ func TestSkipImages(t *testing.T) {
}
func TestUseXHTML(t *testing.T) {
t.Parallel()
doTestsParam(t, []string{
"---",
"<hr>\n",
@ -1167,6 +1195,7 @@ func TestUseXHTML(t *testing.T) {
}
func TestSkipHTML(t *testing.T) {
t.Parallel()
doTestsParam(t, []string{
"<div class=\"foo\"></div>\n\ntext\n\n<form>the form</form>",
"<p>text</p>\n\n<p>the form</p>\n",

View File

@ -16,6 +16,7 @@ package blackfriday
import "testing"
func TestDocument(t *testing.T) {
t.Parallel()
var tests = []string{
// Empty document.
"",

View File

@ -20,6 +20,7 @@ import (
)
func TestReference(t *testing.T) {
t.Parallel()
files := []string{
"Amps and angle encoding",
"Auto links",
@ -48,6 +49,7 @@ func TestReference(t *testing.T) {
}
func TestReference_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) {
t.Parallel()
files := []string{
"Amps and angle encoding",
"Auto links",