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]}'>&lt;a 
href=\"http://google.com\";>google&lt;/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\":\"&amp;lt;\",\"srcContent\":\"&lt;\",\"dsr\":[1,5,null,null]}'>&lt;</span>nowiki<span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;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\":\"&amp;lt;\",\"srcContent\":\"&lt;\",\"dsr\":[21,25,null,null]}'>&lt;</span>nowiki<span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;gt;\",\"srcContent\":\">\",\"dsr\":[31,35,null,null]}'>></span>Foo<span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;lt;\",\"srcContent\":\"&lt;\",\"dsr\":[38,42,null,null]}'>&lt;</span>/nowiki<span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;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]}'>&lt;nowiki>\n</pre>\n<p
 data-parsoid='{\"dsr\":[22,38,0,0]}'><span typeof=\"mw:Placeholder\" 
data-parsoid='{\"src\":\"&lt;/nowiki>\",\"dsr\":[22,31,null,0]}'>&lt;/nowiki></span>\n&lt;/pre></p>\n\n<p
 data-parsoid='{\"dsr\":[40,93,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[40,86,8,9]}'>\n&lt;pre>\n<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;lt;\",\"srcContent\":\"&lt;\",\"dsr\":[55,59,null,null]}'>&lt;</span>nowiki<span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;gt;\",\"srcContent\":\">\",\"dsr\":[65,69,null,null]}'>></span>\n&lt;/pre>\n</span>\n&lt;/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\":\"&#39;&#39;1&#39;&#39;\",\"named\":true}]]}'
 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"&#39;&#39;1&#39;&#39;\":{\"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&amp;action=edit&amp;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\":\"&lt;ref 
name=\\\"a\\\">foo&lt;/ref>\",\"html\":\"\\n&lt;span about=\\\"#mwt8\\\" 
class=\\\"mw-ref\\\" rel=\\\"dc:references\\\" typeof=\\\"mw:Extension/ref\\\" 
data-parsoid=&#39;{\\\"dsr\\\":[59,82,14,6]}&#39; 
data-mw=&#39;{\\\"name\\\":\\\"ref\\\",\\\"body\\\":{\\\"id\\\":\\\"mw-reference-text-cite_note-a-1\\\"},\\\"attrs\\\":{\\\"name\\\":\\\"a\\\"}}&#39;>&lt;a
 href=\\\"#cite_note-a-1\\\" style=\\\"counter-reset: mw-Ref 1;\\\">&lt;span 
class=\\\"mw-reflink-text\\\">[1]&lt;/span>&lt;/a>&lt;/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;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]}'>&lt;a 
href=\"http://google.com\";>google&lt;/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)", " &lt;nowiki&gt;\n\n \n\n 
&lt;nowiki&gt;Foo&lt;/nowiki&gt;\n");
-add("html2wt", "<nowiki> and <pre> preference (first one wins)", " 
&lt;nowiki&gt;\n\n&lt;/nowiki&gt;\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&lt;nowiki&gt;\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>
 &lt;nowiki&gt;
 </pre>
@@ -2240,6 +2259,18 @@
 
 &lt;/pre&gt;
 </p>
+!! html/parsoid
+<pre data-parsoid='{"stx":"html","strippedNL":true}'>&lt;nowiki>
+</pre>
+<p><span typeof="mw:Placeholder" 
data-parsoid='{"src":"&lt;/nowiki>"}'>&lt;/nowiki></span>
+&lt;/pre></p>
+
+<p><span typeof="mw:Nowiki">
+&lt;pre>
+&lt;nowiki>
+&lt;/pre>
+</span>
+&lt;/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

Reply via email to