Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/227567
Change subject: [parserTests] Add some html/parsoid sections
......................................................................
[parserTests] Add some html/parsoid sections
* One new failing html2html test, where we don't pass the html2wt
direction. Likely a result of less aggressive normalizations.
Change-Id: Ibbd828d07c2212e6d269532a41f0db30ea16c236
---
M tests/parserTests-blacklist.js
M tests/parserTests.txt
2 files changed, 104 insertions(+), 50 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/67/227567/1
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 59c35ee..2b7d739 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -304,10 +304,6 @@
add("wt2html", "Language parser function", "<p about=\"#mwt1\"
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,16,0,0],\"pi\":[[]]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#language:ar\",\"function\":\"#language\"},\"params\":{},\"i\":0}}]}'>ar</p>");
add("wt2html", "Special parser function", "<p
data-parsoid='{\"dsr\":[0,65,0,0]}'><span about=\"#mwt1\"
typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[]],\"dsr\":[0,23,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:RandomPage\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}'>Parser
function implementation for pf_#special missing in Parsoid.</span>\n<span
about=\"#mwt2\" typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[]],\"dsr\":[24,45,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:BaDtItLe\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}'>Parser
function implementation for pf_#special missing in Parsoid.</span>\n<span
about=\"#mwt3\" typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[]],\"dsr\":[46,65,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Foobar\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}'>Parser
function implementation for pf_#special missing in Parsoid.</span></p>");
add("wt2html", "1. SOL-sensitive wikitext tokens as template-args", "<p
data-parsoid='{\"dsr\":[0,35,0,0]}'><span about=\"#mwt1\"
typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[0,11,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"*a\"}},\"i\":0}}]}'>*a</span>\n<span
about=\"#mwt2\" typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[12,23,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"#a\"}},\"i\":0}}]}'>#a</span>\n<span
about=\"#mwt3\" typeof=\"mw:Transclusion\"
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[24,35,null,null]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\":a\"}},\"i\":0}}]}'>:a</span></p>");
-add("wt2html", "Headings: 6a. Heading chars in SOL context (with trailing
spaces)", "<p data-parsoid='{\"dsr\":[0,20,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,20,8,9]}'>=a=</span></p>\n\n<p
data-parsoid='{\"dsr\":[22,42,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[22,42,8,9]}'>=a=</span></p> \n\n<p
data-parsoid='{\"dsr\":[45,65,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[45,65,8,9]}'>=a=</span></p>\t\n\n<p
data-parsoid='{\"dsr\":[68,88,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[68,88,8,9]}'>=a=</span></p> \t");
-add("wt2html", "Headings: 6b. Heading chars in SOL context (with trailing
newlines)", "<p data-parsoid='{\"dsr\":[0,22,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,22,8,9]}'>=a=\nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[24,47,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[24,47,8,9]}'>=a= \nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[49,72,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[49,72,8,9]}'>=a=\t\nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[74,98,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[74,98,8,9]}'>=a=\t \nb</span></p>");
-add("wt2html", "Headings: 6c. Heading chars in SOL context (leading newline
break)", "<p data-parsoid='{\"dsr\":[0,22,0,0]}'>a\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[2,22,8,9]}'>=b=</span></p>");
-add("wt2html", "Headings: 6d. Heading chars in SOL context (with interspersed
comments)", "<!--c0--><p data-parsoid='{\"dsr\":[9,29,0,0]}'><span
typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[9,29,8,9]}'>=a=</span></p>\n\n<!--c1--><p
data-parsoid='{\"dsr\":[40,60,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[40,60,8,9]}'>=a=</span></p> <!--c2-->\t <!--c3-->");
add("wt2html", "Links 3. WikiLinks: No escapes needed", "<p
data-parsoid='{\"dsr\":[0,31,0,0]}'>[[Foo|[Foobar]]\n<a rel=\"mw:WikiLink\"
href=\"./Foo\" title=\"Foo\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Foo\"},\"sa\":{\"href\":\"Foo\"},\"dsr\":[16,31,6,2]}'>foo|bar</a></p>");
add("wt2html", "1. Leading whitespace in SOL context should be escaped", "<p
data-parsoid='{\"dsr\":[0,19,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,18,8,9]}'> </span>a</p>\n\n<p
data-parsoid='{\"dsr\":[21,41,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[21,39,8,9]}'> </span> a</p>\n\n<p
data-parsoid='{\"dsr\":[43,67,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[43,61,8,9]}'>\t</span>a(tab)</p>\n\n<p
data-parsoid='{\"dsr\":[69,121,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[69,87,8,9]}'> </span>\ta\n<!--cmt-->\n<span
typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[101,119,8,9]}'> </span>
a</p>\n\n<p data-parsoid='{\"dsr\":[123,144,0,0]}'>a\n<span
typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[125,143,8,9]}'> </span>b</p>\n\n<p
data-parsoid='{\"dsr\":[146,167,0,0]}'>a\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[148,166,8,9]}'>\t</span>b</p>\n\n<p
data-parsoid='{\"dsr\":[169,191,0,0]}'>a\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[171,189,8,9]}'>\t</span> b</p>");
add("wt2html", "1. a tags", "<p data-parsoid='{\"dsr\":[0,38,0,0]}'><a
href=\"http://google.com\">google</a></p>");
@@ -450,11 +446,11 @@
add("html2html", "<pre> with forbidden attribute (bug 3202)", "<pre
data-parsoid='{\"dsr\":[0,22,1,0]}'>Narrow screen goodies</pre>\n");
add("html2html", "<pre> with forbidden attribute values (bug 3202)", "<pre
data-parsoid='{\"dsr\":[0,22,1,0]}'>Narrow screen goodies</pre>\n");
add("html2html", "<nowiki> inside <pre> (bug 13238)", "<pre
data-parsoid='{\"dsr\":[0,15,1,0]}'><span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[1,5,null,null]}'><</span>nowiki<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[11,15,null,null]}'>></span></pre>\n\n
<p data-parsoid='{\"dsr\":[18,18,0,0]}'><br
data-parsoid='{\"dsr\":[18,18,0,0]}'/></p>\n\n<pre
data-parsoid='{\"dsr\":[20,53,1,0]}'><span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[21,25,null,null]}'><</span>nowiki<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[31,35,null,null]}'>></span>Foo<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[38,42,null,null]}'><</span>/nowiki<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[49,53,null,null]}'>></span></pre>\n");
+add("html2html", "<nowiki> and <pre> preference (first one wins)", "<pre
data-parsoid='{\"stx\":\"html\",\"strippedNL\":true,\"dsr\":[0,21,5,6]}'><nowiki>\n</pre>\n<p
data-parsoid='{\"dsr\":[22,38,0,0]}'><span typeof=\"mw:Placeholder\"
data-parsoid='{\"src\":\"</nowiki>\",\"dsr\":[22,31,null,0]}'></nowiki></span>\n</pre></p>\n\n<p
data-parsoid='{\"dsr\":[40,93,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[40,86,8,9]}'>\n<pre>\n<span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&lt;\",\"srcContent\":\"<\",\"dsr\":[55,59,null,null]}'><</span>nowiki<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&gt;\",\"srcContent\":\">\",\"dsr\":[65,69,null,null]}'>></span>\n</pre>\n</span>\n</pre></p>\n");
add("html2html", "Templates: Other wikitext in parameter names (bug 67657)",
"<p about=\"#mwt1\" typeof=\"mw:Transclusion\"
data-parsoid='{\"dsr\":[0,20,0,0],\"pi\":[[{\"k\":\"''1''\",\"named\":true}]]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"''1''\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</p>");
add("html2html", "3c. Indent-Pre and block tags (pre-content on separate
line)", "\n<p data-parsoid='{\"dsr\":[1,22,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[1,19,8,9]}'> </span>foo</p>\n\n<div
data-parsoid='{\"stx\":\"html\",\"dsr\":[24,42,5,6]}'>\n<pre
data-parsoid='{\"dsr\":[30,34,1,0]}'>foo</pre>\n\n</div>\n<center
data-parsoid='{\"stx\":\"html\",\"dsr\":[43,67,8,9]}'>\n<pre
data-parsoid='{\"dsr\":[52,56,1,0]}'>foo</pre>\n\n</center>\n<blockquote
data-parsoid='{\"stx\":\"html\",\"dsr\":[68,100,12,13]}'>\n<p
data-parsoid='{\"dsr\":[81,85,0,0]}'> foo</p>\n\n</blockquote>\n<blockquote
data-parsoid='{\"stx\":\"html\",\"dsr\":[101,133,12,13]}'>\n<p
data-parsoid='{\"dsr\":[114,118,0,0]}'> foo</p>\n\n</blockquote>\n<table
data-parsoid='{\"dsr\":[134,147,2,2]}'>\n<tbody
data-parsoid='{\"dsr\":[137,145,0,0]}'><tr
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[137,143,0,0]}'><td
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[137,143,1,0]}'>\n<pre
data-parsoid='{\"dsr\":[139,143,1,0]}'>foo</pre></td></tr>\n\n</tbody></table>\n<ul
data-parsoid='{\"dsr\":[148,154,0,0]}'><li
data-parsoid='{\"dsr\":[148,154,1,0]}'> foo</li></ul>\n");
add("html2html", "4. Indent-Pre and extension tags", "<p
data-parsoid='{\"dsr\":[0,1,0,0]}'>a</p>\n\n<ul
data-parsoid='{\"dsr\":[3,220,0,0]}'><li
data-parsoid='{\"dsr\":[3,220,1,0]}'><div style=\"width: 155px\"
data-parsoid='{\"stx\":\"html\",\"dsr\":[4,220,26,6]}'> <div class=\"thumb\"
style=\"width: 150px;\"
data-parsoid='{\"stx\":\"html\",\"dsr\":[31,181,41,6]}'> <div
style=\"margin:68px auto;\"
data-parsoid='{\"stx\":\"html\",\"dsr\":[73,174,31,6]}'><img
src=\"http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg\"
alt=\"120px-Foobar.jpg\" rel=\"mw:externalImage\"
data-parsoid='{\"dsr\":[104,168,null,null]}'/></div> </div> <div
class=\"gallerytext\"
data-parsoid='{\"stx\":\"html\",\"dsr\":[182,213,25,6]}'></div>
</div></li></ul>\n");
add("html2html", "5a. White-space in indent-pre", "<pre
data-parsoid='{\"dsr\":[0,13,1,0]}'>a<br
data-parsoid='{\"stx\":\"html\",\"noClose\":true,\"dsr\":[2,8,4,null]}'/>\n\n\nb</pre>\n");
-add("html2html", "HTML-pre: 3: other wikitext", "<pre
data-parsoid='{\"dsr\":[0,71,1,0]}'>* foo\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[8,71,8,9]}'># bar\n = no-h =\n '' no-italic ''\n [[
NoLink ]]</span></pre>\n");
add("html2html", "Definition list with wikilink containing colon", "<dl
data-parsoid='{\"dsr\":[0,95,0,0]}'><dt data-parsoid='{\"dsr\":[0,24,1,0]}'>
[/index.php?title=Help</dt><dd
data-parsoid='{\"stx\":\"row\",\"dsr\":[24,60,1,0]}'>FAQ&action=edit&redlink=1
Help:FAQ]</dd>\n<dd data-parsoid='{\"dsr\":[61,95,1,0]}'> The least-read page
on Wikipedia</dd></dl>\n");
add("html2html", "Definition lists: colon in HTML attribute", "<dl
data-parsoid='{\"dsr\":[0,12,0,0]}'><dt data-parsoid='{\"dsr\":[0,12,1,0]}'> <b
data-parsoid='{\"dsr\":[2,12,3,3]}'>bold</b></dt></dl>\n");
add("html2html", "Definition Lists: Nesting: Multi-level (Parsoid only)",
"\n<dl data-parsoid='{\"dsr\":[1,116,0,0]}'><dt
data-parsoid='{\"dsr\":[1,6,1,0]}'> t1 </dt>\n<dd
data-parsoid='{\"dsr\":[7,17,1,0]}'> d1 </dd>\n<dt
data-parsoid='{\"dsr\":[18,116,1,0]}'><dl
data-parsoid='{\"dsr\":[19,116,0,0]}'><dt data-parsoid='{\"dsr\":[19,24,1,0]}'>
t2 </dt>\n<dd data-parsoid='{\"dsr\":[25,62,2,0]}'> <span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[28,48,8,9]}'>:d2</span> </dd>\n<dt
data-parsoid='{\"dsr\":[63,116,2,0]}'><dl
data-parsoid='{\"dsr\":[65,116,0,0]}'><dt data-parsoid='{\"dsr\":[65,70,1,0]}'>
t3 </dt>\n<dd data-parsoid='{\"dsr\":[71,116,3,0]}'> <span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[75,96,8,9]}'>::d3</span>
</dd></dl></dt></dl></dt></dl>\n");
@@ -682,10 +678,6 @@
add("html2html", "References: 5. ref tags in references should be processed
while ignoring all other content", "<p data-parsoid='{\"dsr\":[0,44,0,0]}'>A
<span about=\"#mwt2\" class=\"mw-ref\" id=\"cite_ref-a_1-0\"
rel=\"dc:references\" typeof=\"mw:Extension/ref\"
data-parsoid='{\"dsr\":[2,18,16,0]}'
data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\"}}'><a
href=\"#cite_note-a-1\" style=\"counter-reset: mw-Ref 1;\"><span
class=\"mw-reflink-text\">[1]</span></a></span>\nB <span about=\"#mwt4\"
class=\"mw-ref\" id=\"cite_ref-b_2-0\" rel=\"dc:references\"
typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[21,44,14,6]}'
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-b-2\"},\"attrs\":{\"name\":\"b\"}}'><a
href=\"#cite_note-b-2\" style=\"counter-reset: mw-Ref 2;\"><span
class=\"mw-reflink-text\">[2]</span></a></span></p>\n\n<ol
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt6\"
data-parsoid='{\"dsr\":[46,96,2,2]}'
data-mw='{\"name\":\"references\",\"body\":{\"extsrc\":\"<ref
name=\\\"a\\\">foo</ref>\",\"html\":\"\\n<span about=\\\"#mwt8\\\"
class=\\\"mw-ref\\\" rel=\\\"dc:references\\\" typeof=\\\"mw:Extension/ref\\\"
data-parsoid='{\\\"dsr\\\":[59,82,14,6]}'
data-mw='{\\\"name\\\":\\\"ref\\\",\\\"body\\\":{\\\"id\\\":\\\"mw-reference-text-cite_note-a-1\\\"},\\\"attrs\\\":{\\\"name\\\":\\\"a\\\"}}'><a
href=\\\"#cite_note-a-1\\\" style=\\\"counter-reset: mw-Ref 1;\\\"><span
class=\\\"mw-reflink-text\\\">[1]</span></a></span>\\n\"},\"attrs\":{}}'><li
about=\"#cite_note-a-1\" id=\"cite_note-a-1\"><a href=\"#cite_ref-a_1-0\"
rel=\"mw:referencedBy\"><span class=\"mw-linkback-text\">↑ </span></a> <span
id=\"mw-reference-text-cite_note-a-1\" class=\"mw-reference-text\"
data-parsoid=\"{}\">foo</span></li><li about=\"#cite_note-b-2\"
id=\"cite_note-b-2\"><a href=\"#cite_ref-b_2-0\" rel=\"mw:referencedBy\"><span
class=\"mw-linkback-text\">↑ </span></a> <span
id=\"mw-reference-text-cite_note-b-2\" class=\"mw-reference-text\"
data-parsoid=\"{}\">bar</span></li></ol>");
add("html2html", "Entities in ref name", "<p
data-parsoid='{\"dsr\":[0,38,0,0]}'><span about=\"#mwt2\" class=\"mw-ref\"
id=\"cite_ref-test_.26amp.3B_me_1-0\" rel=\"dc:references\"
typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[0,38,30,6]}'
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-test_.26amp.3B_me-1\"},\"attrs\":{\"name\":\"test
&amp;amp; me\"}}'><a href=\"#cite_note-test_.26amp.3B_me-1\"
style=\"counter-reset: mw-Ref 1;\"><span
class=\"mw-reflink-text\">[1]</span></a></span></p>\n<ol
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt4\"
data-parsoid='{\"dsr\":[39,53,2,2]}'
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li
about=\"#cite_note-test_.26amp.3B_me-1\"
id=\"cite_note-test_.26amp.3B_me-1\"><a
href=\"#cite_ref-test_.26amp.3B_me_1-0\" rel=\"mw:referencedBy\"><span
class=\"mw-linkback-text\">↑ </span></a> <span
id=\"mw-reference-text-cite_note-test_.26amp.3B_me-1\"
class=\"mw-reference-text\" data-parsoid=\"{}\">hi</span></li></ol>");
add("html2html", "Empty LI and TR nodes should not be stripped from top-level
content", "<ul data-parsoid='{\"dsr\":[0,9,0,0]}'><li
data-parsoid='{\"dsr\":[0,3,1,0]}'> a</li>\n<li
data-parsoid='{\"dsr\":[4,5,1,0]}'></li>\n<li
data-parsoid='{\"dsr\":[6,9,1,0]}'> b</li></ul>\n\n<table
data-parsoid='{\"dsr\":[11,26,2,2]}'>\n\n<tbody
data-parsoid='{\"dsr\":[15,24,0,0]}'><tr
data-parsoid='{\"startTagSrc\":\"|-\",\"autoInsertedEnd\":true,\"dsr\":[15,22,2,0]}'>\n<td
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[18,22,1,0]}'>foo</td></tr>\n\n</tbody></table>\n");
-add("html2html", "Headings: 6a. Heading chars in SOL context (with trailing
spaces)", "<p data-parsoid='{\"dsr\":[0,20,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,20,8,9]}'>=a=</span></p>\n\n<p
data-parsoid='{\"dsr\":[22,42,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[22,42,8,9]}'>=a=</span></p> \n\n<p
data-parsoid='{\"dsr\":[45,65,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[45,65,8,9]}'>=a=</span></p>\t\n\n<p
data-parsoid='{\"dsr\":[68,88,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[68,88,8,9]}'>=a=</span></p> \t\n");
-add("html2html", "Headings: 6b. Heading chars in SOL context (with trailing
newlines)", "<p data-parsoid='{\"dsr\":[0,22,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,22,8,9]}'>=a=\nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[24,47,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[24,47,8,9]}'>=a= \nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[49,72,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[49,72,8,9]}'>=a=\t\nb</span></p>\n\n<p
data-parsoid='{\"dsr\":[74,98,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[74,98,8,9]}'>=a=\t \nb</span></p>\n");
-add("html2html", "Headings: 6c. Heading chars in SOL context (leading newline
break)", "<p data-parsoid='{\"dsr\":[0,22,0,0]}'>a\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[2,22,8,9]}'>=b=</span></p>\n");
-add("html2html", "Headings: 6d. Heading chars in SOL context (with
interspersed comments)", "<!--c0--><p data-parsoid='{\"dsr\":[9,29,0,0]}'><span
typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[9,29,8,9]}'>=a=</span></p>\n\n<!--c1--><p
data-parsoid='{\"dsr\":[40,60,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[40,60,8,9]}'>=a=</span></p> <!--c2-->\t <!--c3-->\n");
add("html2html", "Links 3. WikiLinks: No escapes needed", "<p
data-parsoid='{\"dsr\":[0,31,0,0]}'>[[Foo|[Foobar]]\n<a rel=\"mw:WikiLink\"
href=\"./Foo\" title=\"Foo\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Foo\"},\"sa\":{\"href\":\"Foo\"},\"dsr\":[16,31,6,2]}'>foo|bar</a></p>\n");
add("html2html", "1. Leading whitespace in SOL context should be escaped", "<p
data-parsoid='{\"dsr\":[0,19,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,18,8,9]}'> </span>a</p>\n\n<p
data-parsoid='{\"dsr\":[21,41,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[21,39,8,9]}'> </span> a</p>\n\n<p
data-parsoid='{\"dsr\":[43,50,0,0]}'>\ta(tab)</p>\n\n<pre
data-parsoid='{\"dsr\":[52,55,1,0]}'>\ta</pre>\n\n<!--cmt--><p
data-parsoid='{\"dsr\":[67,87,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[67,85,8,9]}'> </span> a</p>\n\n<p
data-parsoid='{\"dsr\":[89,110,0,0]}'>a\n<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[91,109,8,9]}'> </span>b</p>\n\n<p
data-parsoid='{\"dsr\":[112,116,0,0]}'>a\n\tb</p>\n\n<p
data-parsoid='{\"dsr\":[118,123,0,0]}'>a\n\t b</p>\n");
add("html2html", "1. a tags", "<p data-parsoid='{\"dsr\":[0,38,0,0]}'><a
href=\"http://google.com\">google</a></p>");
@@ -711,9 +703,6 @@
add("html2wt", "Non-word characters don't terminate tag names (bug 17663,
40670, 52022)", "<blockquote|>a<nowiki></blockquote></nowiki>\n\n<b→> doesn't
terminate </b→>\n\n<bä> doesn't terminate </bä>\n\n<boo> doesn't terminate
</boo>\n\n<s.foo> doesn't terminate </s.foo>\n\n<sub-ID#1>\n");
add("html2wt", "Non-word characters don't terminate tag names + tidy",
"<blockquote|>a\n\n<b→> doesn't terminate </b→>\n\n<bä> doesn't terminate
</bä>\n\n<boo> doesn't terminate </boo>\n\n<s.foo> doesn't terminate
</s.foo>\n\n<sub-ID#1>\n");
add("html2wt", "Bare pipe character from a template (bug 52363)", "|\n");
-add("html2wt", "<nowiki> unordered list", "<nowiki>*</nowiki> This is not an
unordered list item.\n");
-add("html2wt", "<nowiki> spacing", "Lorem ipsum dolor\nsed abit.\n<nowiki>
</nowiki> sed nullum.\n<nowiki>:</nowiki>and a colon\n");
-add("html2wt", "nowiki 3", ": There is not nowiki.\n: There is nowiki.\n#
There is not nowiki.\n# There is nowiki.\n* There is not nowiki.\n* There is
nowiki.\n");
add("html2wt", "Entities inside <nowiki>", "<\n");
add("html2wt", "T71950: 2. Put nowiki as close to cause as possible, after '
:'", "This text : L<nowiki>''</nowiki>[[Foo]]\n");
add("html2wt", "Comments and Indent-Pre", " asdf\n\n asdf\n\n asdf\n\nxyz\n\n
asdf\n xyz\n");
@@ -745,7 +734,7 @@
add("html2wt", "Entities inside <pre>", " <\n");
add("html2wt", "<pre> with forbidden attribute values (bug 3202)", " Narrow
screen goodies\n");
add("html2wt", "<nowiki> inside <pre> (bug 13238)", " <nowiki>\n\n \n\n
<nowiki>Foo</nowiki>\n");
-add("html2wt", "<nowiki> and <pre> preference (first one wins)", "
<nowiki>\n\n</nowiki>\n</pre>\n\n<nowiki><pre>\n<nowiki>\n</pre>\n\n</pre></nowiki>\n");
+add("html2wt", "<nowiki> and <pre> preference (first one wins)",
"<pre>\n<nowiki>\n</pre>\n</nowiki>\n</pre>\n\n<nowiki>\n<pre>\n<nowiki>\n</pre>\n</nowiki>\n</pre>\n");
add("html2wt", "</pre> inside nowiki", "</pre>\n");
add("html2wt", "HTML pre followed by indent-pre", " foo\n\n bar\n");
add("html2wt", "Templates: Indent-Pre: 1a. Templates that break a line should
suppress <pre>", "");
@@ -774,7 +763,6 @@
add("html2wt", "5a. White-space in indent-pre", " a<br>\n \n \n b\n");
add("html2wt", "6. Pre-blocks should extend across lines with leading WS even
when there is no wrappable content", " a\n \n b\n\n c\n \n\nd\n");
add("html2wt", "HTML-pre: 2: indented text", " foo\n");
-add("html2wt", "HTML-pre: 3: other wikitext", " * foo\n <nowiki># bar\n = no-h
=\n '' no-italic ''\n [[ NoLink ]]</nowiki>\n");
add("html2wt", "Simple definition", "; name \n: Definition\n");
add("html2wt", "Definition list with no space", "; name\n: Definition\n");
add("html2wt", "Definition list with URL link", "; http://example.com/ \n:
definition\n");
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index cfefe24..af09f33 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -1367,9 +1367,11 @@
<nowiki> unordered list
!! wikitext
<nowiki>* This is not an unordered list item.</nowiki>
-!! html
+!! html/php
<p>* This is not an unordered list item.
</p>
+!! html/parsoid
+<p><span typeof="mw:Nowiki">* This is not an unordered list item.</span></p>
!! end
!! test
@@ -1382,7 +1384,7 @@
:and a colon
</nowiki>
-!! html
+!! html/php
<p>Lorem ipsum dolor
sed abit.
@@ -1391,6 +1393,14 @@
:and a colon
</p>
+!! html/parsoid
+<p><span typeof="mw:Nowiki">Lorem ipsum dolor
+
+sed abit.
+ sed nullum.
+
+:and a colon
+</span></p>
!! end
!! test
@@ -1404,7 +1414,7 @@
*There is not nowiki.
*There is <nowiki>nowiki</nowiki>.
-!! html
+!! html/php
<dl><dd>There is not nowiki.</dd>
<dd>There is nowiki.</dd></dl>
<ol><li>There is not nowiki.</li>
@@ -1412,6 +1422,15 @@
<ul><li>There is not nowiki.</li>
<li>There is nowiki.</li></ul>
+!! html/parsoid
+<dl><dd data-parsoid='{}'>There is not nowiki.</dd>
+<dd data-parsoid='{}'>There is <span
typeof="mw:Nowiki">nowiki</span>.</dd></dl>
+
+<ol><li data-parsoid='{}'>There is not nowiki.</li>
+<li data-parsoid='{}'>There is <span
typeof="mw:Nowiki">nowiki</span>.</li></ol>
+
+<ul><li data-parsoid='{}'>There is not nowiki.</li>
+<li data-parsoid='{}'>There is <span
typeof="mw:Nowiki">nowiki</span>.</li></ul>
!! end
!! test
@@ -2227,7 +2246,7 @@
</nowiki>
</pre>
-!! html
+!! html/php
<pre>
<nowiki>
</pre>
@@ -2240,6 +2259,18 @@
</pre>
</p>
+!! html/parsoid
+<pre data-parsoid='{"stx":"html","strippedNL":true}'><nowiki>
+</pre>
+<p><span typeof="mw:Placeholder"
data-parsoid='{"src":"</nowiki>"}'></nowiki></span>
+</pre></p>
+
+<p><span typeof="mw:Nowiki">
+<pre>
+<nowiki>
+</pre>
+</span>
+</pre></p>
!! end
!! test
@@ -3401,7 +3432,7 @@
'' no-italic ''
[[ NoLink ]]
</pre>
-!! html
+!! html/php
<pre>
* foo
# bar
@@ -3410,6 +3441,13 @@
[[ NoLink ]]
</pre>
+!! html/parsoid
+<pre data-parsoid='{"stx":"html","strippedNL":true}'>* foo
+# bar
+= no-h =
+'' no-italic ''
+[[ NoLink ]]
+</pre>
!!end
###
@@ -21606,8 +21644,6 @@
!! test
Headings: 6a. Heading chars in SOL context (with trailing spaces)
-!! options
-parsoid
!! wikitext
<nowiki>=a=</nowiki>
@@ -21616,17 +21652,24 @@
<nowiki>=a=</nowiki>
<nowiki>=a=</nowiki>
-!! html
-<p>=a=</p>
-<p>=a= </p>
-<p>=a= </p>
-<p>=a= </p>
+!! html/php
+<p>=a=
+</p><p>=a=
+</p><p>=a=
+</p><p>=a=
+</p>
+!! html/parsoid
+<p><span typeof="mw:Nowiki">=a=</span></p>
+
+<p><span typeof="mw:Nowiki">=a=</span></p>
+
+<p><span typeof="mw:Nowiki">=a=</span></p>
+
+<p><span typeof="mw:Nowiki">=a=</span></p>
!!end
!! test
Headings: 6b. Heading chars in SOL context (with trailing newlines)
-!! options
-parsoid
!! wikitext
<nowiki>=a=
b</nowiki>
@@ -21639,48 +21682,65 @@
<nowiki>=a=
b</nowiki>
-!! html
+!! html/php
<p>=a=
-b</p>
-<p>=a=
-b</p>
-<p>=a=
-b</p>
-<p>=a=
-b</p>
+b
+</p><p>=a=
+b
+</p><p>=a=
+b
+</p><p>=a=
+b
</p>
+!! html/parsoid
+<p><span typeof="mw:Nowiki">=a=
+b</span></p>
+
+<p><span typeof="mw:Nowiki">=a=
+b</span></p>
+
+<p><span typeof="mw:Nowiki">=a=
+b</span></p>
+
+<p><span typeof="mw:Nowiki">=a=
+b</span></p>
!!end
!! test
Headings: 6c. Heading chars in SOL context (leading newline break)
-!! options
-parsoid
!! wikitext
a
<nowiki>=b=</nowiki>
-!! html
+!! html/php
<p>a
-=b=</p>
+=b=
+</p>
+!! html/parsoid
+<p>a
+<span typeof="mw:Nowiki">=b=</span>
!!end
!! test
Headings: 6d. Heading chars in SOL context (with interspersed comments)
-!! options
-parsoid
!! wikitext
<!--c0--><nowiki>=a=</nowiki>
<!--c1--><nowiki>=a=</nowiki> <!--c2--> <!--c3-->
-!! html
-<p><!--c0-->=a=</p>
-<p><!--c1-->=a= <!--c2--> <!--c3--></p>
+!! html/php
+<p>=a=
+</p><p>=a=
+</p>
+!! html/parsoid
+<!--c0--><p><span typeof="mw:Nowiki">=a=</span></p>
+
+<!--c1--><p><span typeof="mw:Nowiki">=a=</span></p> <!--c2--> <!--c3-->
!!end
!! test
Headings: 6d. Heading chars in SOL context (No escaping needed)
!! options
parsoid=html2wt
-!! html
+!! html/parsoid
=a=<div>b</div>
!! wikitext
=a=<div>b</div>
@@ -21690,11 +21750,11 @@
Headings: 7. Insert a newline between new content and headings
!! options
parsoid=html2wt
-!! html
+!! html/parsoid
<h2>NEW</h2>
<p>new</p>
-<h2 data-parsoid='{"dsr":[0,5,2,2]}'>A</h2>
-<p data-parsoid='{"dsr":[6,7,0,0]}'>a</p>
+<h2 data-parsoid='{}'>A</h2>
+<p data-parsoid='{}'>a</p>
!! wikitext
== NEW ==
new
@@ -21723,11 +21783,17 @@
<nowiki>#</nowiki>foo
<nowiki>;Foo:</nowiki>bar
-!! html
+!! html/php
<p>*foo
</p><p>#foo
</p><p>;Foo:bar
</p>
+!! html/parsoid
+<p><span typeof="mw:Nowiki">*</span>foo</p>
+
+<p><span typeof="mw:Nowiki">#</span>foo</p>
+
+<p><span typeof="mw:Nowiki">;Foo:</span>bar</p>
!!end
!! test
--
To view, visit https://gerrit.wikimedia.org/r/227567
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibbd828d07c2212e6d269532a41f0db30ea16c236
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits