mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Merge pull request #2592 from Elberet/fix-parser
Fixes for quirky markdown parser behaviours
This commit is contained in:
@@ -22,6 +22,7 @@ test('basic bbcode', function() {
|
||||
"<span class=\"bbcode-b\">evil <span class=\"bbcode-i\">trout</span></span>",
|
||||
"allows embedding of tags");
|
||||
format("[EMAIL]eviltrout@mailinator.com[/EMAIL]", "<a href=\"mailto:eviltrout@mailinator.com\">eviltrout@mailinator.com</a>", "supports upper case bbcode");
|
||||
format("[b]strong [b]stronger[/b][/b]", "<span class=\"bbcode-b\">strong <span class=\"bbcode-b\">stronger</span></span>", "accepts nested bbcode tags");
|
||||
});
|
||||
|
||||
test('invalid bbcode', function() {
|
||||
@@ -44,6 +45,7 @@ test('spoiler', function() {
|
||||
test('lists', function() {
|
||||
format("[ul][li]option one[/li][/ul]", "<ul><li>option one</li></ul>", "creates an ul");
|
||||
format("[ol][li]option one[/li][/ol]", "<ol><li>option one</li></ol>", "creates an ol");
|
||||
format("[ul]\n[li]option one[/li]\n[li]option two[/li]\n[/ul]", "<ul><li>option one</li><li>option two</li></ul>", "suppresses empty lines in lists");
|
||||
});
|
||||
|
||||
test('tags with arguments', function() {
|
||||
@@ -127,6 +129,16 @@ test("quote formatting", function() {
|
||||
"</div><blockquote><p>abc</p></blockquote></aside>\n\n<p>hello</p>",
|
||||
"handles new lines properly");
|
||||
|
||||
formatQ("[quote=\"Alice, post:1, topic:1\"]\n[quote=\"Bob, post:2, topic:1\"]\n[/quote]\n[/quote]",
|
||||
"<aside class=\"quote\" data-post=\"1\" data-topic=\"1\"><div class=\"title\"><div class=\"quote-controls\"></div>Alice said:" +
|
||||
"</div><blockquote><aside class=\"quote\" data-post=\"2\" data-topic=\"1\"><div class=\"title\"><div class=\"quote-controls\"></div>Bob said:" +
|
||||
"</div><blockquote></blockquote></aside></blockquote></aside>",
|
||||
"quotes can be nested");
|
||||
|
||||
formatQ("[quote=\"Alice, post:1, topic:1\"]\n[quote=\"Bob, post:2, topic:1\"]\n[/quote]",
|
||||
"<aside class=\"quote\" data-post=\"1\" data-topic=\"1\"><div class=\"title\"><div class=\"quote-controls\"></div>Alice said:" +
|
||||
"</div><blockquote><p>[quote=\"Bob, post:2, topic:1\"]</p></blockquote></aside>",
|
||||
"handles mismatched nested quote tags");
|
||||
});
|
||||
|
||||
test("quotes with trailing formatting", function() {
|
||||
|
||||
@@ -36,6 +36,7 @@ test("Auto quoting", function() {
|
||||
"it converts single line quotes to blockquotes");
|
||||
cooked('"hello\nworld"', "<p>\"hello<br/>world\"</p>", "It doesn't convert multi line quotes");
|
||||
cooked('"hello "evil" trout"', '<p>"hello "evil" trout"</p>', "it doesn't format quotes in the middle of a line");
|
||||
cooked('["text"', '<p>["text"</p>', "it recognizes leading tag-like text");
|
||||
});
|
||||
|
||||
test("Traditional Line Breaks", function() {
|
||||
@@ -315,7 +316,7 @@ test("links with full urls", function() {
|
||||
test("Code Blocks", function() {
|
||||
|
||||
cooked("<pre>\nhello\n</pre>\n",
|
||||
"<p><pre>\nhello</pre></p>",
|
||||
"<p><pre>hello</pre></p>",
|
||||
"pre blocks don't include extra lines");
|
||||
|
||||
cooked("```\na\nb\nc\n\nd\n```",
|
||||
|
||||
Reference in New Issue
Block a user