Subramanya Sastry has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/162112

Change subject: Turn off data-parsoid stripping from template content
......................................................................

Turn off data-parsoid stripping from template content

* Flow is currently using data-parsoid and this could break stuff
  there. Till such time we can confirm that it is safe to strip
  data-parsoid from templated content for Flow, turning this off.

* Updated blacklist with changes to HTML of known failing tests.

Change-Id: Iec9b47522524d3bea32b08f740b09d3427fc2c4a
---
M lib/mediawiki.DOMPostProcessor.js
M tests/parserTests-blacklist.js
2 files changed, 29 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/12/162112/1

diff --git a/lib/mediawiki.DOMPostProcessor.js 
b/lib/mediawiki.DOMPostProcessor.js
index 9ea3f57..3ad1bec 100644
--- a/lib/mediawiki.DOMPostProcessor.js
+++ b/lib/mediawiki.DOMPostProcessor.js
@@ -210,8 +210,11 @@
        domVisitor2.addHandler( null, cleanupAndSaveDataParsoid.bind( null, env 
) );
        this.processors.push(domVisitor2.traverse.bind(domVisitor2));
 
+       // --- Turn off this data-parsoid stripping since we don't yet know   
---
+       // --- how Flow will be affected by it. For now, safe than sorry till 
---
+       // --- we hear from them about it. ---
        // Remove data-parsoid from transcluded content
-       this.processors.push(cleanUpTemplates.removeDataParsoid);
+       // this.processors.push(cleanUpTemplates.removeDataParsoid);
 }
 
 // Inherit from EventEmitter
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 8740a13..8417639 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -49,21 +49,21 @@
 add("wt2html", "<pre> with <nowiki> inside (compatibility with 1.6 and 
earlier)", "<pre data-parsoid='{\"stx\":\"html\",\"dsr\":[0,45,5,6]}'><span 
typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[5,39,8,9]}'>\n&lt;b>\n&lt;cite>\n&lt;em>\n</span></pre>");
 add("wt2html", "Bug 52763: Preformatted in <blockquote>", "<blockquote 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,74,12,13]}'>\n<p 
data-parsoid='{\"dsr\":[13,18,0,0]}'> Blah</p>\n<table 
data-parsoid='{\"dsr\":[19,60,2,2]}'>\n<tbody 
data-parsoid='{\"dsr\":[22,58,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[22,57,0,0]}'><td
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[22,57,1,0]}'>\n<pre 
data-parsoid='{\"dsr\":[24,57,1,0]}'>indented cell (no 
pre-wrapping!)</pre></td></tr>\n</tbody></table>\n</blockquote>");
 add("wt2html", "Bug 15491: <ins>/<del> in blockquote (2)", "<blockquote 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,64,12,13]}'>Foo <del 
data-parsoid='{\"stx\":\"html\",\"dsr\":[16,30,5,6]}'>bar</del> <ins 
data-parsoid='{\"stx\":\"html\",\"dsr\":[31,45,5,6]}'>baz</ins> 
quux\n</blockquote>");
-add("wt2html", "Templates: Indent-Pre: 1f: Wrapping should be based on 
expanded content", "<pre about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 \"}},\"i\":0}},\"a\"]}' 
data-parsoid='{\"dsr\":[0,11,1,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</pre>\n\n<span
 about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 \"}},\"i\":0}},\"a\"]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[13,25,null,null]}'>\n</span><pre
 about=\"#mwt2\">a</pre>\n\n<span about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 b\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[27,39,null,null]}'>\n</span><pre
 about=\"#mwt3\">b</pre>\n\n<p about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n
 \"}},\"i\":0}},\"b\"]}' 
data-parsoid='{\"dsr\":[41,54,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><span
 about=\"#mwt4\">\n</span><pre about=\"#mwt4\">b</pre>\n\n<p about=\"#mwt5\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n\"}},\"i\":0}}]}'
 
data-parsoid='{\"dsr\":[56,67,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><span
 about=\"#mwt5\">\n</span><pre data-parsoid='{\"dsr\":[67,69,1,0]}'>b</pre>");
-add("wt2html", "Templates: Don't strip whitespace from positional-param 
values", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 \"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,11,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a
 </p>\n\n<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"{{echo|b}}
 \"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[13,33,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>b
 </p>\n\n<pre about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 c \\n\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[35,48,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>c
 </pre><span about=\"#mwt4\">\n</span>\n\n<pre about=\"#mwt5\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 {{echo|d}}\\n\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[50,71,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>d</pre><span
 about=\"#mwt5\">\n</span>\n\n<span about=\"#mwt7\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 e\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[73,85,null,null]}'>\n</span><pre
 about=\"#mwt7\">e</pre>\n\n<span about=\"#mwt8\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n*
 f\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[87,100,null,null]}'>\n</span><p
 about=\"#mwt8\">* f</p>\n\n<span about=\"#mwt9\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 \"}},\"i\":0}},\"g\"]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[102,114,null,null]}'>\n</span><pre
 about=\"#mwt9\">g</pre>");
+add("wt2html", "Templates: Indent-Pre: 1f: Wrapping should be based on 
expanded content", "<pre about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 \"}},\"i\":0}},\"a\"]}' 
data-parsoid='{\"dsr\":[0,11,1,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</pre>\n\n<span
 about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 \"}},\"i\":0}},\"a\"]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[13,25,null,null]}'>\n</span><pre
 about=\"#mwt2\" data-parsoid='{\"dsr\":[null,25,1,0]}'>a</pre>\n\n<span 
about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 b\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[27,39,null,null]}'>\n</span><pre
 about=\"#mwt3\" data-parsoid='{\"dsr\":[null,39,1,0]}'>b</pre>\n\n<p 
about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n
 \"}},\"i\":0}},\"b\"]}' 
data-parsoid='{\"dsr\":[41,54,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><span
 about=\"#mwt4\" data-parsoid=\"{}\">\n</span><pre about=\"#mwt4\" 
data-parsoid='{\"dsr\":[null,54,1,0]}'>b</pre>\n\n<p about=\"#mwt5\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n\"}},\"i\":0}}]}'
 
data-parsoid='{\"dsr\":[56,67,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><span
 about=\"#mwt5\" data-parsoid=\"{}\">\n</span><pre 
data-parsoid='{\"dsr\":[67,69,1,0]}'>b</pre>");
+add("wt2html", "Templates: Don't strip whitespace from positional-param 
values", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 \"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,11,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a
 </p>\n\n<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"{{echo|b}}
 \"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[13,33,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>b
 </p>\n\n<pre about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 c \\n\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[35,48,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>c
 </pre><span about=\"#mwt4\" data-parsoid=\"{}\">\n</span>\n\n<pre 
about=\"#mwt5\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"
 {{echo|d}}\\n\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[50,71,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>d</pre><span
 about=\"#mwt5\" data-parsoid=\"{}\">\n</span>\n\n<span about=\"#mwt7\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 e\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[73,85,null,null]}'>\n</span><pre
 about=\"#mwt7\" data-parsoid='{\"dsr\":[null,85,1,0]}'>e</pre>\n\n<span 
about=\"#mwt8\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n*
 f\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[87,100,null,null]}'>\n</span><p
 about=\"#mwt8\" data-parsoid='{\"dsr\":[null,100,0,0]}'>* f</p>\n\n<span 
about=\"#mwt9\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n
 \"}},\"i\":0}},\"g\"]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[102,114,null,null]}'>\n</span><pre
 about=\"#mwt9\" data-parsoid='{\"dsr\":[null,114,1,0]}'>g</pre>");
 add("wt2html", "3a. Indent-Pre and block tags (single-line html)", " a <p 
data-parsoid='{\"stx\":\"html\",\"dsr\":[3,15,3,4]}'> foo </p>\n b <div 
data-parsoid='{\"stx\":\"html\",\"dsr\":[19,35,5,6]}'> foo </div>\n c 
<blockquote data-parsoid='{\"stx\":\"html\",\"dsr\":[39,69,12,13]}'> foo 
</blockquote>\n<pre data-parsoid='{\"dsr\":[70,89,1,0]}'><span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[71,89,6,7]}'> foo </span></pre>");
 add("wt2html", "3b. Indent-Pre and block tags (multi-line html)", "<pre 
data-parsoid='{\"dsr\":[0,19,1,0]}'>a <span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[3,19,6,7]}'>foo</span></pre>\n b <div 
data-parsoid='{\"stx\":\"html\",\"dsr\":[23,39,5,6]}'> foo </div>");
 add("wt2html", "4. Indent-Pre and extension tags", "<pre 
data-parsoid='{\"dsr\":[0,39,1,0]}'>a <span typeof=\"mw:Extension/gallery\" 
about=\"#mwt1\" 
data-parsoid='{\"stx\":\"html\",\"src\":\"&lt;gallery>\\nFile:foobar.jpg\\n&lt;/gallery>\",\"tagWidths\":[9,10],\"dsr\":[3,39,9,10]}'>&lt;gallery>\nFile:foobar.jpg\n&lt;/gallery></span></pre>");
 add("wt2html", "6. Pre-blocks should extend across lines with leading WS even 
when there is no wrappable content", "<pre 
data-parsoid='{\"dsr\":[0,26,1,0]}'>a\n\n <!-- continue -->\nb</pre>\n\n<pre 
data-parsoid='{\"dsr\":[28,30,1,0]}'>c</pre>\n \n<p 
data-parsoid='{\"dsr\":[33,34,0,0]}'>d</p>");
 add("wt2html", "Bug 2702: Mismatched <i>, <b> and <a> tags are invalid", "<p 
data-parsoid='{\"dsr\":[0,204,0,0]}'><i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[0,29,2,0]}'><a 
rel=\"mw:ExtLink\" href=\"http://example.com\"; 
data-parsoid='{\"targetOff\":22,\"contentOffsets\":[22,28],\"dsr\":[2,29,20,1]}'>text<i
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[26,28,2,0]}'></i></a></i>\n<a 
rel=\"mw:ExtLink\" href=\"http://example.com\"; 
data-parsoid='{\"targetOff\":50,\"contentOffsets\":[50,57],\"dsr\":[30,58,20,1]}'><b
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[50,57,3,0]}'>text</b></a><b 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[58,61,3,0]}'></b>\n<i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[62,106,2,0]}'>Something <a 
rel=\"mw:ExtLink\" href=\"http://example.com\"; 
data-parsoid='{\"targetOff\":94,\"contentOffsets\":[94,105],\"dsr\":[74,106,20,1]}'>in
 italic<i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[103,105,2,0]}'></i></a></i>\n<i
 data-parsoid='{\"dsr\":[107,164,2,2]}'>Something <a rel=\"mw:ExtLink\" 
href=\"http://example.com\"; 
data-parsoid='{\"targetOff\":139,\"contentOffsets\":[139,160],\"dsr\":[119,161,20,1]}'>mixed<b
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[144,160,3,0]}'><i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[147,160,2,0]}'>, even 
bold</i></b></a>'</i>\n<b 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[165,204,3,0]}'><i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[168,204,2,0]}'>Now <a 
rel=\"mw:ExtLink\" href=\"http://example.com\"; 
data-parsoid='{\"targetOff\":194,\"contentOffsets\":[194,203],\"dsr\":[174,204,20,1]}'>both<b
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[198,203,3,0]}'><i 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[201,203,2,0]}'></i></b></a></i></b></p>");
 add("wt2html", "External link containing double-single-quotes in text embedded 
in italics (bug 4598 sanity check)", "<p data-parsoid='{\"dsr\":[0,60,0,0]}'><i 
data-parsoid='{\"dsr\":[0,60,2,2]}'>Some <a rel=\"mw:ExtLink\" 
href=\"http://example.com/\"; 
data-parsoid='{\"targetOff\":28,\"contentOffsets\":[28,56],\"dsr\":[7,57,21,1]}'>pretty
 <i data-parsoid='{\"dsr\":[35,46,2,2]}'>italics</i> and stuff</a>!</i></p>");
-add("wt2html", "Template-generated table cell attributes and cell content 
(3)", "<table data-parsoid='{\"dsr\":[0,35,2,2]}'>\n<tbody 
data-parsoid='{\"dsr\":[3,33,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[3,32,0,0]}'><td
 align=\"center\" style=\"color: red\" typeof=\"mw:Transclusion\" 
about=\"#mwt1\" data-mw='{\"parts\":[\"|align=center 
\",{\"template\":{\"target\":{\"wt\":\"table_cells\",\"href\":\"./Template:Table_cells\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[3,32,1,0],\"pi\":[[]]}'> 
Foo<span> || Bar || Baz</span></td></tr>\n</tbody></table>");
+add("wt2html", "Template-generated table cell attributes and cell content 
(3)", "<table data-parsoid='{\"dsr\":[0,35,2,2]}'>\n<tbody 
data-parsoid='{\"dsr\":[3,33,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[3,32,0,0]}'><td
 align=\"center\" style=\"color: red\" typeof=\"mw:Transclusion\" 
about=\"#mwt1\" data-mw='{\"parts\":[\"|align=center 
\",{\"template\":{\"target\":{\"wt\":\"table_cells\",\"href\":\"./Template:Table_cells\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[3,32,1,0],\"pi\":[[]]}'> 
Foo<span data-parsoid=\"{}\"> || Bar || 
Baz</span></td></tr>\n</tbody></table>");
 add("wt2html", "Broken image links with HTML captions (bug 39700)", "<meta 
typeof=\"mw:Placeholder\" 
data-parsoid='{\"src\":\"[[File:Nonexistent|&lt;script>&lt;/script>]]\",\"optList\":[{\"ck\":\"caption\",\"ak\":\"&lt;script>&lt;/script>\"}],\"dsr\":[0,38,null,null]}'/>\n<meta
 typeof=\"mw:Placeholder\" 
data-parsoid='{\"src\":\"[[File:Nonexistent|100px|&lt;script>&lt;/script>]]\",\"optList\":[{\"ck\":\"width\",\"ak\":\"100px\"},{\"ck\":\"caption\",\"ak\":\"&lt;script>&lt;/script>\"}],\"dsr\":[39,83,null,null]}'/>\n<meta
 typeof=\"mw:Placeholder\" 
data-parsoid='{\"src\":\"[[File:Nonexistent|&amp;lt;]]\",\"optList\":[{\"ck\":\"caption\",\"ak\":\"&amp;lt;\"}],\"dsr\":[84,109,null,null]}'/>\n<meta
 typeof=\"mw:Placeholder\" 
data-parsoid='{\"src\":\"[[File:Nonexistent|a&lt;i>b&lt;/i>c]]\",\"optList\":[{\"ck\":\"caption\",\"ak\":\"a&lt;i>b&lt;/i>c\"}],\"dsr\":[110,141,null,null]}'/>");
 add("wt2html", "Self-link to numeric title", "<p 
data-parsoid='{\"dsr\":[0,5,0,0]}'><a rel=\"mw:WikiLink\" href=\"./0\" 
title=\"0\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./0\"},\"sa\":{\"href\":\"0\"},\"dsr\":[0,5,2,2]}'>0</a></p>");
 add("wt2html", "<nowiki> inside a link", "<p 
data-parsoid='{\"dsr\":[0,96,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Main_Page\" 
title=\"Main Page\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main&lt;nowiki>
 Page&lt;/nowiki>\"},\"dsr\":[0,30,2,2]}'>Main Page</a> <a rel=\"mw:WikiLink\" 
href=\"./Main_Page\" title=\"Main Page\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main
 Page\"},\"dsr\":[31,96,12,2]}'>the main page <span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[57,94,8,9]}'>[it's not very good]</span></a></p>");
 add("wt2html", "Handling html with a div self-closing tag", "<div title=\"\" 
data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[0,13,13,0]}'></div>\n<div
 title=\"\" 
data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[14,26,12,0]}'></div>\n<div
 
data-parsoid='{\"stx\":\"html\",\"a\":{\"title/\":null},\"sa\":{\"title/\":\"\"},\"autoInsertedEnd\":true,\"dsr\":[27,93,13,0]}'>\n<div
 title=\"bar\" 
data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[41,58,17,0]}'></div>\n<div
 title=\"bar\" 
data-parsoid='{\"stx\":\"html\",\"selfClose\":true,\"dsr\":[59,75,16,0]}'></div>\n<div
 title=\"bar/\" 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[76,93,17,0]}'></div></div>");
 add("wt2html", "Horizontal ruler -- Supports content following dashes on same 
line", "<hr data-parsoid='{\"lineContent\":true,\"dsr\":[0,4,4,0]}'/> Foo");
-add("wt2html", "2. Lists with start-of-line-transparent tokens before bullets: 
Template close", "<ul about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"*foo 
\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"bar\\n\"}},\"i\":0}}]}'
 
data-parsoid='{\"dsr\":[0,18,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"*foo
 {{echo|bar\\n}}\"}'><li>foo bar</li></ul><span about=\"#mwt1\">\n</span><p 
data-parsoid='{\"dsr\":[18,22,0,0]}'>*baz</p>");
+add("wt2html", "2. Lists with start-of-line-transparent tokens before bullets: 
Template close", "<ul about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"*foo 
\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"bar\\n\"}},\"i\":0}}]}'
 
data-parsoid='{\"dsr\":[0,18,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"*foo
 {{echo|bar\\n}}\"}'><li data-parsoid='{\"dsr\":[0,null,1,0]}'>foo 
bar</li></ul><span about=\"#mwt1\" data-parsoid=\"{}\">\n</span><p 
data-parsoid='{\"dsr\":[18,22,0,0]}'>*baz</p>");
 add("wt2html", "Multiple list tags generated by templates", "<li 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;li>\"}},\"i\":0}},\"a\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;li>\"}},\"i\":1}},\"b\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;li>\"}},\"i\":2}},\"c\"]}'
 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,44,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a\n</li><li
 about=\"#mwt1\" 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true}'>b\n</li><li 
about=\"#mwt1\" 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[null,44,null,0]}'>c</li>");
 add("wt2html", "Test the li-hack\n(The PHP parser relies on Tidy for the 
hack)", "<ul data-parsoid='{\"dsr\":[0,114,0,0]}'><li 
data-parsoid='{\"dsr\":[0,5,1,0]}'> foo</li>\n<li 
data-parsoid='{\"stx\":\"html\",\"dsr\":[6,19,6,null],\"liHackSrc\":\"* 
\"}'>li-hack</li>\n<li about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;li>templated
 li-hack\"}},\"i\":0}}]}' 
data-parsoid='{\"stx\":\"html\",\"dsr\":[20,52,2,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"liHackSrc\":\"*
 \"}'>templated li-hack</li>\n<li 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[53,66,1,0]}'> <!--foo--> 
</li><li data-parsoid='{\"stx\":\"html\",\"dsr\":[66,114,4,null]}'> unsupported 
li-hack with preceding comments</li></ul>\n\n<ul 
data-parsoid='{\"stx\":\"html\",\"dsr\":[116,154,4,5]}'>\n<li 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[121,125,4,0]}'></li><li
 data-parsoid='{\"stx\":\"html\",\"dsr\":[125,148,4,5]}'>not a 
li-hack\n</li>\n</ul>");
 add("wt2html", "Unbalanced closing non-block tags don't break a list\n(php 
parser relies on Tidy to fix up)", "<p data-parsoid='{\"dsr\":[0,6,0,0]}'><span 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,6,6,0]}'></span></p>\n<ul
 data-parsoid='{\"dsr\":[7,32,0,0]}'><li 
data-parsoid='{\"dsr\":[7,22,1,0]}'>a<span 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[16,22,6,0]}'></span></li>\n<li
 data-parsoid='{\"dsr\":[23,32,1,0]}'>b</li></ul>");
@@ -111,15 +111,15 @@
 add("wt2html", "Template with invalid target containing wikilink", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'>{{<a rel=\"mw:WikiLink\" 
href=\"./Main_Page\" title=\"Main Page\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main
 Page\"},\"dsr\":[2,15,2,2]}'>Main Page</a>}}</p>");
 add("wt2html", "Template redirect", "<link rel=\"mw:PageProp/redirect\" 
href=\"./Template:Templatesimple\" about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"templateredirect\",\"href\":\"./Template:Templateredirect\"},\"params\":{},\"i\":0}}]}'
 
data-parsoid='{\"a\":{\"href\":\"./Template:Templatesimple\"},\"sa\":{\"href\":\"Template:templatesimple\"},\"dsr\":[0,20,null,null],\"pi\":[[]]}'/>");
 add("wt2html", "Template with thumb image (with link in description)", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"paramtest\",\"href\":\"./Template:Paramtest\"},\"params\":{\"param\":{\"wt\":\"[[Image:noimage.png|thumb|[[no
 link|link]] [[no link|caption]]]]\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,88,0,0],\"pi\":[[{\"k\":\"param\",\"named\":true,\"spc\":[\"\\n
  \",\" \",\"\",\"\"]}]]}'>This is a test template with parameter </p>");
-add("wt2html", "Template with complex arguments", "<p 
data-parsoid='{\"dsr\":[0,106,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Template:Complextemplate\" title=\"Template:Complextemplate\" 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"complextemplate\",\"href\":\"./Template:Complextemplate\"},\"params\":{\"1\":{\"wt\":\"[[Template:complextemplate|link]]\"},\"param\":{\"wt\":\"{{
 templateasargtest  |\\n templ = simple }}\"}},\"i\":0}}]}' 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Template:Complextemplate\"},\"sa\":{\"href\":\"Template:complextemplate\"},\"dsr\":[0,106,null,null],\"pi\":[[{\"k\":\"param\",\"named\":true,\"spc\":[\"\\n
  \",\" 
\",\"\",\"\"]},{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>link</a><span 
about=\"#mwt1\"> This is a test template with parameter (test)</span></p>");
+add("wt2html", "Template with complex arguments", "<p 
data-parsoid='{\"dsr\":[0,106,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Template:Complextemplate\" title=\"Template:Complextemplate\" 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"complextemplate\",\"href\":\"./Template:Complextemplate\"},\"params\":{\"1\":{\"wt\":\"[[Template:complextemplate|link]]\"},\"param\":{\"wt\":\"{{
 templateasargtest  |\\n templ = simple }}\"}},\"i\":0}}]}' 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Template:Complextemplate\"},\"sa\":{\"href\":\"Template:complextemplate\"},\"dsr\":[0,106,null,null],\"pi\":[[{\"k\":\"param\",\"named\":true,\"spc\":[\"\\n
  \",\" 
\",\"\",\"\"]},{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>link</a><span 
about=\"#mwt1\" data-parsoid=\"{}\"> This is a test template with parameter 
(test)</span></p>");
 add("wt2html", "BUG 553: link with two variables in a piped link", "<table 
data-parsoid='{\"dsr\":[0,26,2,2]}'>\n<tbody 
data-parsoid='{\"dsr\":[3,24,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[3,23,0,0]}'><td
 data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[3,23,1,0]}'>[[<span 
about=\"#mwt5\" typeof=\"mw:Param\" 
data-parsoid='{\"dsr\":[6,13,null,null],\"src\":\"{{{1}}}\"}'>{{{1}}}</span>|<span
 about=\"#mwt2\" typeof=\"mw:Param\" 
data-parsoid='{\"dsr\":[14,21,null,null],\"src\":\"{{{2}}}\"}'>{{{2}}}</span>]]</td></tr>\n</tbody></table>");
 add("wt2html", "Template infinite loop", "<span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"loop1\",\"href\":\"./Template:Loop1\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,9,null,null],\"pi\":[[]]}'></span>");
-add("wt2html", "BUG 529: Template with table, not included at beginning of 
line", "foo <table about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"table\",\"href\":\"./Template:Table\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[4,13,null,null],\"pi\":[[]]}'>\n<tbody><tr><td> 1 
</td><td> 2</td></tr>\n<tr>\n<td> 3 </td><td> 4</td></tr>\n</tbody></table>");
+add("wt2html", "BUG 529: Template with table, not included at beginning of 
line", "foo <table about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"table\",\"href\":\"./Template:Table\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[4,13,null,null],\"pi\":[[]]}'>\n<tbody 
data-parsoid=\"{}\"><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true}'><td 
data-parsoid='{\"autoInsertedEnd\":true}'> 1 </td><td 
data-parsoid='{\"stx_v\":\"row\",\"autoInsertedEnd\":true}'> 2</td></tr>\n<tr 
data-parsoid='{\"startTagSrc\":\"|-\",\"autoInsertedEnd\":true}'>\n<td 
data-parsoid='{\"autoInsertedEnd\":true}'> 3 </td><td 
data-parsoid='{\"stx_v\":\"row\",\"autoInsertedEnd\":true}'> 
4</td></tr>\n</tbody></table>");
 add("wt2html", "Template with targets containing wikilinks", "<p 
data-parsoid='{\"dsr\":[0,11,0,0]}'>{{<a rel=\"mw:WikiLink\" href=\"./Foo\" 
title=\"Foo\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Foo\"},\"sa\":{\"href\":\"foo\"},\"dsr\":[2,9,2,2]}'>foo</a>}}</p>\n\n<p
 data-parsoid='{\"dsr\":[13,33,0,0]}'>{{<a 
data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"&lt;span 
about=\\\"#mwt3\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;foo&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[17,29,null,null]}\\\">foo&lt;/span>\"}]]}'
 typeof=\"mw:ExpandedAttrs\" about=\"#mwt4\" rel=\"mw:WikiLink\" href=\"./Foo\" 
title=\"Foo\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Foo\"},\"sa\":{\"href\":\"{{echo|foo}}\"},\"dsr\":[15,31,null,null]}'>foo</a>}}</p>\n\n<p
 data-parsoid='{\"dsr\":[35,55,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt5\" id=\"mwt5\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"{{echo|[[foo}}]]\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[35,55,null,null],\"pi\":[[]]}'>Warning: Page/template 
fetching disabled, and no cache for Template:[[foo]]</span></p>");
 add("wt2html", "msgnw keyword", "<p data-parsoid='{\"dsr\":[0,20,0,0]}'><span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt1\" id=\"mwt1\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"msgnw:MSGNW 
test\",\"href\":\"./Msgnw:MSGNW_test\"},\"params\":{},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,20,null,null],\"pi\":[[]]}'>Warning: Page/template 
fetching disabled, and no cache for Msgnw:MSGNW_test</span></p>");
 add("wt2html", "int keyword", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"int:youhavenewmessages\",\"function\":\"int\"},\"params\":{\"1\":{\"wt\":\"lots
 of money\"},\"2\":{\"wt\":\"not!\"}},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,45,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]},{\"k\":\"2\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>Parser
 function implementation for pf_int missing in Parsoid.</p>");
-add("wt2html", "<onlyinclude> being included", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\"/></p>");
-add("wt2html", "<onlyinclude> and <includeonly> being included", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes3\",\"href\":\"./Template:Includes3\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\"/></p>");
+add("wt2html", "<onlyinclude> being included", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\" data-parsoid='{\"src\":\"\"}'/></p>");
+add("wt2html", "<onlyinclude> and <includeonly> being included", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes3\",\"href\":\"./Template:Includes3\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\" data-parsoid='{\"src\":\"\"}'/></p>");
 add("wt2html", "<includeonly> and <noinclude> on a page", "<p 
data-parsoid='{\"dsr\":[0,59,0,0]}'>Foo<meta typeof=\"mw:Includes/NoInclude\" 
data-parsoid='{\"src\":\"&lt;noinclude>\",\"dsr\":[3,14,null,null]}'/>zar<meta 
typeof=\"mw:Includes/NoInclude/End\" 
data-parsoid='{\"src\":\"&lt;/noinclude>\",\"dsr\":[17,29,null,null]}'/><meta 
typeof=\"mw:Includes/IncludeOnly\" 
data-parsoid='{\"src\":\"&lt;includeonly>bar&lt;/includeonly>\",\"dsr\":[29,59,null,null]}'/><meta
 typeof=\"mw:Includes/IncludeOnly/End\" 
data-parsoid='{\"src\":\"\",\"dsr\":[59,59,null,null]}'/></p>");
 add("wt2html", "Un-closed <noinclude>", "<meta 
typeof=\"mw:Includes/NoInclude\" 
data-parsoid='{\"src\":\"&lt;noinclude>\",\"dsr\":[0,11,null,null]}'/>");
 add("wt2html", "<onlyinclude> on a page", "<p 
data-parsoid='{\"dsr\":[0,33,0,0]}'><meta typeof=\"mw:Includes/OnlyInclude\" 
data-parsoid='{\"src\":\"&lt;onlyinclude>\",\"dsr\":[0,13,null,null]}'/>Foo<meta
 typeof=\"mw:Includes/OnlyInclude/End\" 
data-parsoid='{\"src\":\"&lt;/onlyinclude>\",\"dsr\":[16,30,null,null]}'/>bar</p>");
@@ -136,14 +136,14 @@
 add("wt2html", "Templates: P-wrapping: 1c. Templates on consecutive lines", 
"<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"Foo\"}},\"i\":0}}]}'
 
data-parsoid='{\"dsr\":[0,12,0,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>Foo</p>\n<span
 about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"bar\"}},\"i\":0}}]}'
 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[13,25,null,null]}'>bar</span>
 <div data-parsoid='{\"stx\":\"html\",\"dsr\":[26,40,5,6]}'>baz</div>");
 add("wt2html", "Templates: HTML Tag: 2. Generation of HTML attr. value", "<div 
style=\"'color:red;'\" about=\"#mwt2\" typeof=\"mw:ExpandedAttrs\" 
data-mw='{\"attribs\":[[{\"txt\":\"style\"},{\"html\":\"&lt;span 
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&#39;color:red;&#39;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[11,32,null,null]}\\\">&#39;color:red;&#39;&lt;/span>\"}]]}'
 
data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"&#39;color:red;&#39;\"},\"sa\":{\"style\":\"{{echo|&#39;color:red;&#39;}}\"},\"dsr\":[0,42,33,6]}'>foo</div>");
 add("wt2html", "Templates: HTML Tag: 3. Generation of HTML attr key and 
value", "<div style=\"'color:red;'\" about=\"#mwt3\" 
typeof=\"mw:ExpandedAttrs\" 
data-mw='{\"attribs\":[[{\"txt\":\"style\",\"html\":\"&lt;span 
about=\\\"#mwt2\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;style&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[5,19,null,null]}\\\">style&lt;/span>\"},{\"html\":\"&lt;span
 about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;&#39;color:red;&#39;&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[20,41,null,null]}\\\">&#39;color:red;&#39;&lt;/span>\"}]]}'
 
data-parsoid='{\"stx\":\"html\",\"a\":{\"style\":\"&#39;color:red;&#39;\"},\"sa\":{\"style\":\"{{echo|&#39;color:red;&#39;}}\"},\"dsr\":[0,51,42,6]}'>foo</div>");
-add("wt2html", "Templates: Wiki Tables: 1a. Fostering of entire template 
content", "<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\"}},\"i\":0}},\"\\n|}\"]}'
 
data-parsoid='{\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,16,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><table
 about=\"#mwt2\">\n\n</table>");
-add("wt2html", "Templates: Wiki Tables: 1b. Fostering of entire template 
content", "<div about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;div>\"}},\"i\":0}},\"\\nfoo\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;/div>\"}},\"i\":1}},\"\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,40,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>\n<p>foo</p>\n</div><table
 about=\"#mwt3\">\n\n</table>");
-add("wt2html", "Templates: Wiki Tables: 2. Fostering of partial template 
content", "<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n&lt;div>b&lt;/div>\"}},\"i\":0}},\"\\n|}\"]}'
 
data-parsoid='{\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,29,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><div
 about=\"#mwt2\" 
data-parsoid='{\"stx\":\"html\",\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,0]}'>b</div><table
 about=\"#mwt2\">\n\n\n</table>");
+add("wt2html", "Templates: Wiki Tables: 1a. Fostering of entire template 
content", "<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\"}},\"i\":0}},\"\\n|}\"]}'
 
data-parsoid='{\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,16,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><table
 about=\"#mwt2\" data-parsoid='{\"dsr\":[0,16,2,2]}'>\n\n</table>");
+add("wt2html", "Templates: Wiki Tables: 1b. Fostering of entire template 
content", "<div about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;div>\"}},\"i\":0}},\"\\nfoo\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;/div>\"}},\"i\":1}},\"\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,40,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>\n<p
 data-parsoid='{\"dsr\":[18,21,0,0]}'>foo</p>\n</div><table about=\"#mwt3\" 
data-parsoid='{\"dsr\":[0,40,2,2]}'>\n\n</table>");
+add("wt2html", "Templates: Wiki Tables: 2. Fostering of partial template 
content", "<p about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n&lt;div>b&lt;/div>\"}},\"i\":0}},\"\\n|}\"]}'
 
data-parsoid='{\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,29,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>a</p><div
 about=\"#mwt2\" 
data-parsoid='{\"stx\":\"html\",\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,0]}'>b</div><table
 about=\"#mwt2\" data-parsoid='{\"dsr\":[0,29,2,2]}'>\n\n\n</table>");
 add("wt2html", "Templates: Wiki Tables: 4. Templated tags, no content", 
"<table about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"tbl-start\",\"href\":\"./Template:Tbl-start\"},\"params\":{},\"i\":0}},\"\\n\",{\"template\":{\"target\":{\"wt\":\"tbl-end\",\"href\":\"./Template:Tbl-end\"},\"params\":{},\"i\":1}}]}'
 data-parsoid='{\"dsr\":[0,25,null,null],\"pi\":[[],[]]}'>\n</table>");
-add("wt2html", "Templates: Lists: Multi-line list-items via templates", "<ul 
data-parsoid='{\"dsr\":[0,71,0,0]}'><li 
data-parsoid='{\"dsr\":[0,35,1,0]}'><span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[1,35,null,null]}'>a
 </span><span typeof=\"mw:Placeholder\" about=\"#mwt1\" id=\"mwt2\">Warning: 
Page/template fetching disabled, and no cache for 
Template:Nonexistent</span><meta typeof=\"mw:Transclusion/End\" about=\"#mwt1\" 
data-parsoid=\"{}\"/></li>\n<li data-parsoid='{\"dsr\":[36,71,1,0]}'><span 
about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[37,71,null,null]}'>b
 </span><span typeof=\"mw:Placeholder\" about=\"#mwt3\" id=\"mwt4\">Warning: 
Page/template fetching disabled, and no cache for 
Template:Nonexistent</span><meta typeof=\"mw:Transclusion/End\" about=\"#mwt3\" 
data-parsoid=\"{}\"/></li></ul>");
-add("wt2html", "Templates: Ugly nesting: 1. Quotes opened/closed across 
templates (echo)", "<p data-parsoid='{\"dsr\":[0,40,0,0]}'><i about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&#39;&#39;a\"}},\"i\":0}},{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b&#39;&#39;c&#39;&#39;d\"}},\"i\":1}},{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&#39;&#39;e\"}},\"i\":2}}]}'
 
data-parsoid='{\"dsr\":[0,40,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>ab</i><span
 about=\"#mwt1\">c</span><i about=\"#mwt1\">d</i><span 
about=\"#mwt1\">e</span></p>");
-add("wt2html", "Templates: Ugly nesting: 4. Divs opened/closed across 
templates", "a<div about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"&lt;div>b\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"c&lt;/div>d\"}},\"i\":0}}]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1,24,5,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>bc</div><span
 about=\"#mwt1\">d</span>e");
-add("wt2html", "Templates: Ugly templates: 1. Navbox template parses badly 
leading to table misnesting\n(Parsoid-centric)", "<table about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n|\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo&lt;/table>\"}},\"i\":0}},\"\\n|bar\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,32,2,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"{|\\n|{{echo|foo&lt;/table>}}\\n|bar\\n|}\"}'>\n<tbody><tr><td>foo</td></tr></tbody></table><span
 about=\"#mwt1\">\n|bar</span><span about=\"#mwt1\">\n</span>");
+add("wt2html", "Templates: Lists: Multi-line list-items via templates", "<ul 
data-parsoid='{\"dsr\":[0,71,0,0]}'><li 
data-parsoid='{\"dsr\":[0,35,1,0]}'><span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[1,35,null,null]}'>a
 </span><span typeof=\"mw:Placeholder\" about=\"#mwt1\" id=\"mwt2\" 
data-parsoid=\"{}\">Warning: Page/template fetching disabled, and no cache for 
Template:Nonexistent</span><meta typeof=\"mw:Transclusion/End\" about=\"#mwt1\" 
data-parsoid=\"{}\"/></li>\n<li data-parsoid='{\"dsr\":[36,71,1,0]}'><span 
about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}' 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[37,71,null,null]}'>b
 </span><span typeof=\"mw:Placeholder\" about=\"#mwt3\" id=\"mwt4\" 
data-parsoid=\"{}\">Warning: Page/template fetching disabled, and no cache for 
Template:Nonexistent</span><meta typeof=\"mw:Transclusion/End\" about=\"#mwt3\" 
data-parsoid=\"{}\"/></li></ul>");
+add("wt2html", "Templates: Ugly nesting: 1. Quotes opened/closed across 
templates (echo)", "<p data-parsoid='{\"dsr\":[0,40,0,0]}'><i about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&#39;&#39;a\"}},\"i\":0}},{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b&#39;&#39;c&#39;&#39;d\"}},\"i\":1}},{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&#39;&#39;e\"}},\"i\":2}}]}'
 
data-parsoid='{\"dsr\":[0,40,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}],[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>ab</i><span
 about=\"#mwt1\" data-parsoid=\"{}\">c</span><i about=\"#mwt1\" 
data-parsoid=\"{}\">d</i><span about=\"#mwt1\" 
data-parsoid=\"{}\">e</span></p>");
+add("wt2html", "Templates: Ugly nesting: 4. Divs opened/closed across 
templates", "a<div about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"&lt;div>b\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"c&lt;/div>d\"}},\"i\":0}}]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1,24,5,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'>bc</div><span
 about=\"#mwt1\" data-parsoid=\"{}\">d</span>e");
+add("wt2html", "Templates: Ugly templates: 1. Navbox template parses badly 
leading to table misnesting\n(Parsoid-centric)", "<table about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n|\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo&lt;/table>\"}},\"i\":0}},\"\\n|bar\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,32,2,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"{|\\n|{{echo|foo&lt;/table>}}\\n|bar\\n|}\"}'>\n<tbody
 data-parsoid='{\"dsr\":[3,24,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[3,24,0,0]}'><td
 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[3,24,1,0]}'>foo</td></tr></tbody></table><span
 about=\"#mwt1\" data-parsoid=\"{}\">\n|bar</span><span about=\"#mwt1\" 
data-parsoid=\"{}\">\n</span>");
 add("wt2html", "Templates: Ugly templates: 4. newline-only template parameter 
inconsistency", "<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n\"}},\"i\":0}}]}'
 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[0,10,null,null]}'>\n</span>");
 add("wt2html", "pre-save transform: subst:", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:test\",\"href\":\"./Template:Test\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,14,0,0],\"pi\":[[]]}'>This is a test template</p>");
 add("wt2html", "pre-save transform: normal template", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"test\",\"href\":\"./Template:Test\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,8,0,0],\"pi\":[[]]}'>This is a test template</p>");
@@ -156,8 +156,8 @@
 add("wt2html", "pre-save transform: mixed tag case", "<p 
data-parsoid='{\"dsr\":[0,31,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[0,31,8,9]}'>'''not wiki'''</span></p>");
 add("wt2html", "pre-save transform: unclosed comment in <nowiki>", "<p 
data-parsoid='{\"dsr\":[0,41,0,0]}'>wiki<span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[4,37,8,9]}'>nowiki&lt;!--nowiki</span>wiki</p>");
 add("wt2html", "pre-save transform: <noinclude> in subst (bug 3298)", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:Includes\",\"href\":\"./Template:Includes\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,18,0,0],\"pi\":[[]]}'>Foobar</p>");
-add("wt2html", "pre-save transform: <onlyinclude> in subst (bug 3298)", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,19,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\"/></p>");
-add("wt2html", "bug 22297: safesubst: works during PST", "<p 
data-parsoid='{\"dsr\":[0,46,0,0]}'><span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:SafeSubstTest\",\"href\":\"./Template:SafeSubstTest\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"pi\":[[]],\"dsr\":[0,23,null,null]}'>Foo</span><span 
about=\"#mwt1\">bar</span><span about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"safesubst:SubstTest\",\"href\":\"./Template:SubstTest\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"pi\":[[]],\"dsr\":[23,46,null,null]}'>Foo</span><span 
about=\"#mwt2\">bar</span></p>");
+add("wt2html", "pre-save transform: <onlyinclude> in subst (bug 3298)", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,19,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\" data-parsoid='{\"src\":\"2}}\"}'/></p>");
+add("wt2html", "bug 22297: safesubst: works during PST", "<p 
data-parsoid='{\"dsr\":[0,46,0,0]}'><span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"subst:SafeSubstTest\",\"href\":\"./Template:SafeSubstTest\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"pi\":[[]],\"dsr\":[0,23,null,null]}'>Foo</span><span 
about=\"#mwt1\" data-parsoid=\"{}\">bar</span><span about=\"#mwt2\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"safesubst:SubstTest\",\"href\":\"./Template:SubstTest\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"pi\":[[]],\"dsr\":[23,46,null,null]}'>Foo</span><span 
about=\"#mwt2\" data-parsoid=\"{}\">bar</span></p>");
 add("wt2html", "subst: does not work during normal parse", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SubstTest\",\"href\":\"./Template:SubstTest\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foobar</p>");
 add("wt2html", "pre-save transform: context links (\"pipe trick\")", "<p 
data-parsoid='{\"dsr\":[0,183,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Article_(context)\" title=\"Article (context)\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Article_(context)\"},\"sa\":{\"href\":\"Article
 (context)\"},\"dsr\":[0,22,2,2]}'>Article</a>\n<a rel=\"mw:WikiLink\" 
href=\"./Bar:Article\" title=\"Bar:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:Article\"},\"sa\":{\"href\":\"Bar:Article\"},\"dsr\":[23,39,2,2]}'>Article</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Bar:Article\" title=\"Bar:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:Article\"},\"sa\":{\"href\":\":Bar:Article\"},\"dsr\":[40,57,2,2]}'>Article</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Bar:Article_(context)\" title=\"Bar:Article 
(context)\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:Article_(context)\"},\"sa\":{\"href\":\"Bar:Article
 (context)\"},\"dsr\":[58,84,2,2]}'>Article</a>\n<a rel=\"mw:WikiLink\" 
href=\"./Bar:Article_(context)\" title=\"Bar:Article (context)\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:Article_(context)\"},\"sa\":{\"href\":\":Bar:Article
 (context)\"},\"dsr\":[85,112,2,2]}'>Article</a>\n[[|Article]]\n[[|Article 
(context)]]\n<a rel=\"mw:WikiLink\" href=\"./Bar:X_(Y)_Z\" title=\"Bar:X (Y) 
Z\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:X_(Y)_Z\"},\"sa\":{\"href\":\"Bar:X
 (Y) Z\"},\"dsr\":[149,165,2,2]}'>X (Y) Z</a>\n<a rel=\"mw:WikiLink\" 
href=\"./Bar:X_(Y)_Z\" title=\"Bar:X (Y) Z\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Bar:X_(Y)_Z\"},\"sa\":{\"href\":\":Bar:X
 (Y) Z\"},\"dsr\":[166,183,2,2]}'>X (Y) Z</a></p>");
 add("wt2html", "pre-save transform: context links (\"pipe trick\") with 
interwiki prefix", "<p data-parsoid='{\"dsr\":[0,101,0,0]}'><a 
rel=\"mw:WikiLink\" href=\"./Interwiki:Article\" title=\"Interwiki:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Interwiki:Article\"},\"sa\":{\"href\":\"interwiki:Article\"},\"dsr\":[0,22,2,2]}'>Article</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Interwiki:Article\" title=\"Interwiki:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Interwiki:Article\"},\"sa\":{\"href\":\":interwiki:Article\"},\"dsr\":[23,46,2,2]}'>Article</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Interwiki:Bar:Article\" 
title=\"Interwiki:Bar:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Interwiki:Bar:Article\"},\"sa\":{\"href\":\"interwiki:Bar:Article\"},\"dsr\":[47,73,2,2]}'>Bar:Article</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Interwiki:Bar:Article\" 
title=\"Interwiki:Bar:Article\" 
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Interwiki:Bar:Article\"},\"sa\":{\"href\":\":interwiki:Bar:Article\"},\"dsr\":[74,101,2,2]}'>Bar:Article</a></p>");
@@ -179,7 +179,7 @@
 add("wt2html", "message transform: magic variables", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SITENAME\",\"function\":\"sitename\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,12,0,0],\"pi\":[[]]}'>MediaWiki</p>");
 add("wt2html", "message transform: should not transform wiki markup", "<p 
data-parsoid='{\"dsr\":[0,8,0,0]}'><i 
data-parsoid='{\"dsr\":[0,8,2,2]}'>test</i></p>");
 add("wt2html", "message transform: <noinclude> in transcluded template (bug 
4926)", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes\",\"href\":\"./Template:Includes\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,12,0,0],\"pi\":[[]]}'>Foobar</p>");
-add("wt2html", "message transform: <onlyinclude> in transcluded template (bug 
4926)", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\"/></p>");
+add("wt2html", "message transform: <onlyinclude> in transcluded template (bug 
4926)", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Includes2\",\"href\":\"./Template:Includes2\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}'>Foo<meta 
typeof=\"mw:Includes/OnlyInclude/End\" data-parsoid='{\"src\":\"\"}'/></p>");
 add("wt2html", "{{#special:}} page name, known", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Recentchanges\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,26,0,0],\"pi\":[[]]}'>Parser function implementation 
for pf_#special missing in Parsoid.</p>");
 add("wt2html", "{{#special:}} page name with subpage, known", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:Recentchanges/param\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[0,32,0,0],\"pi\":[[]]}'>Parser function implementation 
for pf_#special missing in Parsoid.</p>");
 add("wt2html", "{{#special:}} page name, unknown", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"#special:foobar 
nonexistent\",\"function\":\"#special\"},\"params\":{},\"i\":0}}]}' 
data-parsoid='{\"dsr\":[0,31,0,0],\"pi\":[[]]}'>Parser function implementation 
for pf_#special missing in Parsoid.</p>");
@@ -205,7 +205,7 @@
 add("wt2html", "Category with template in sort key", "<link 
rel=\"mw:PageProp/Category\" href=\"./Category:Foo#Bar\" about=\"#mwt2\" 
typeof=\"mw:ExpandedAttrs\" 
data-mw='{\"attribs\":[[{\"txt\":\"mw:sortKey\"},{\"html\":\"&lt;span 
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Bar&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[15,27,null,null]}\\\">Bar&lt;/span>\"}]]}'
 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:Foo\"},\"dsr\":[0,29,null,null]}'/>");
 add("wt2html", "Category with template in sort key and title", "<link 
data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Category:&lt;span 
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Foo&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[11,23,null,null]}\\\">Foo&lt;/span>\"}],[{\"txt\":\"mw:sortKey\"},{\"html\":\"&lt;span
 about=\\\"#mwt2\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=\\\"{&amp;quot;parts&amp;quot;:[{&amp;quot;template&amp;quot;:{&amp;quot;target&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;echo&amp;quot;,&amp;quot;href&amp;quot;:&amp;quot;./Template:Echo&amp;quot;},&amp;quot;params&amp;quot;:{&amp;quot;1&amp;quot;:{&amp;quot;wt&amp;quot;:&amp;quot;Bar&amp;quot;}},&amp;quot;i&amp;quot;:0}}]}\\\"
 
data-parsoid=\\\"{&amp;quot;pi&amp;quot;:[[{&amp;quot;k&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;spc&amp;quot;:[&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;,&amp;quot;&amp;quot;]}]],&amp;quot;dsr&amp;quot;:[24,36,null,null]}\\\">Bar&lt;/span>\"}]]}'
 typeof=\"mw:ExpandedAttrs\" about=\"#mwt4\" rel=\"mw:PageProp/Category\" 
href=\"./Category:Foo#Bar\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:{{echo|Foo}}\"},\"dsr\":[0,38,null,null]}'/>");
 add("wt2html", "Category / paragraph interactions", "<p 
data-parsoid='{\"dsr\":[0,24,0,0]}'>Foo <link rel=\"mw:PageProp/Category\" 
href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[4,20,null,null]}'/>
 Bar</p>\n\n<p data-parsoid='{\"dsr\":[26,50,0,0]}'>Foo <link 
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[30,46,null,null]}'/>\nBar</p>\n\n<p
 data-parsoid='{\"dsr\":[52,76,0,0]}'>Foo\n<link rel=\"mw:PageProp/Category\" 
href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[56,72,null,null]}'/>\nBar</p>\n\n<p
 data-parsoid='{\"dsr\":[78,81,0,0]}'>Foo</p>\n<link 
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[82,98,null,null]}'/><pre
 data-parsoid='{\"dsr\":[98,102,1,0]}'>Bar</pre>\n\n<p 
data-parsoid='{\"dsr\":[104,163,0,0]}'>Foo\n<link rel=\"mw:PageProp/Category\" 
href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[108,124,null,null]}'/>\n
 <link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[126,142,null,null]}'/>\n<link
 rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[143,159,null,null]}'/>\nBar</p>\n\n<link
 rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[165,181,null,null]}'/>\n
 <link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[183,199,null,null]}'/>\n<link
 rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[200,216,null,null]}'/>\n\n<link
 rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[218,234,null,null]}'/>\n
 <link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"[[Category:Baz]]\"}},\"i\":0}}]}'
 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[236,261,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'/>\n<link
 rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[262,278,null,null]}'/>");
-add("wt2html", "Template with sections, __NOTOC__", "<meta 
property=\"mw:PageProp/notoc\" 
data-parsoid='{\"src\":\"__NOTOC__\",\"magicSrc\":\"__NOTOC__\",\"dsr\":[0,9,null,null]}'/>\n<h2
 data-parsoid='{\"dsr\":[10,23,2,2]}'>Section 0</h2>\n<h3 about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"sections\",\"href\":\"./Template:Sections\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[24,36,null,null],\"pi\":[[]]}'>Section 1</h3><span 
about=\"#mwt1\">\n</span><h2 about=\"#mwt1\">Section 2</h2>\n<h2 
data-parsoid='{\"dsr\":[37,50,2,2]}'>Section 4</h2>");
+add("wt2html", "Template with sections, __NOTOC__", "<meta 
property=\"mw:PageProp/notoc\" 
data-parsoid='{\"src\":\"__NOTOC__\",\"magicSrc\":\"__NOTOC__\",\"dsr\":[0,9,null,null]}'/>\n<h2
 data-parsoid='{\"dsr\":[10,23,2,2]}'>Section 0</h2>\n<h3 about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"sections\",\"href\":\"./Template:Sections\"},\"params\":{},\"i\":0}}]}'
 data-parsoid='{\"dsr\":[24,36,null,null],\"pi\":[[]]}'>Section 1</h3><span 
about=\"#mwt1\" data-parsoid=\"{}\">\n</span><h2 about=\"#mwt1\" 
data-parsoid=\"{}\">Section 2</h2>\n<h2 
data-parsoid='{\"dsr\":[37,50,2,2]}'>Section 4</h2>");
 add("wt2html", "__NOEDITSECTION__ keyword", "<meta 
property=\"mw:PageProp/noeditsection\" 
data-parsoid='{\"src\":\"__NOEDITSECTION__\",\"magicSrc\":\"__NOEDITSECTION__\",\"dsr\":[0,17,null,null]}'/>\n<h2
 data-parsoid='{\"dsr\":[18,31,2,2]}'>Section 1</h2>\n<h2 
data-parsoid='{\"dsr\":[32,45,2,2]}'>Section 2</h2>");
 add("wt2html", "TOC regression (bug 12077)", "<meta 
property=\"mw:PageProp/toc\" 
data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n<h2
 data-parsoid='{\"dsr\":[8,21,2,2]}'> title 1 </h2>\n<h3 
data-parsoid='{\"dsr\":[22,39,3,3]}'> title 1.1 </h3>\n<h2 
data-parsoid='{\"dsr\":[40,53,2,2]}'> title 2 </h2>");
 add("wt2html", "BUG 1219 URL next to image (good)", "<p 
data-parsoid='{\"dsr\":[0,39,0,0]}'><a rel=\"mw:ExtLink\" 
href=\"http://example.com\"; 
data-parsoid='{\"stx\":\"url\",\"dsr\":[0,18,0,0]}'>http://example.com</a> 
<span class=\"mw-default-size\" typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[],\"dsr\":[19,39,null,null]}'><a 
href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{}}'><img 
resource=\"./File:Foobar.jpg\" src=\"//example.com/images/3/3a/Foobar.jpg\" 
height=\"220\" width=\"1941\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"220\",\"width\":\"1941\"},\"sa\":{\"resource\":\"Image:foobar.jpg\"}}'/></a></span></p>");
@@ -662,7 +662,7 @@
 add("html2html", "Templates: Links: 5. Generation of link text", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Wiki/Foo\" 
title=\"Wiki/Foo\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Foo\"},\"sa\":{\"href\":\"wiki/Foo\"},\"dsr\":[0,16,11,2]}'>bar</a></p>\n");
 add("html2html", "Templates: Links: 5. Nested templates (only outermost 
template should be marked)", "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><a 
rel=\"mw:WikiLink\" href=\"./Wiki/Foo\" title=\"Wiki/Foo\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Foo\"},\"sa\":{\"href\":\"wiki/Foo\"},\"dsr\":[0,16,11,2]}'>bar</a></p>\n");
 add("html2html", "Templates: Lists: Multi-line list-items via templates", "<ul 
data-parsoid='{\"dsr\":[0,173,0,0]}'><li data-parsoid='{\"dsr\":[0,86,1,0]}'> a 
[/index.php?title=Template:Nonexistent&amp;action=edit&amp;redlink=1 
Template:Nonexistent]</li>\n<li data-parsoid='{\"dsr\":[87,173,1,0]}'> b 
[/index.php?title=Template:Nonexistent&amp;action=edit&amp;redlink=1 
Template:Nonexistent]</li></ul>\n");
-add("html2html", "Templates: Ugly templates: 1. Navbox template parses badly 
leading to table misnesting\n(Parsoid-centric)", "<table about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n|\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo&lt;/table>\"}},\"i\":0}},\"\\n|bar\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,32,2,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"{|\\n|{{echo|foo&lt;/table>}}\\n|bar\\n|}\"}'>\n<tbody><tr><td>foo</td></tr></tbody></table><span
 about=\"#mwt1\">\n|bar</span><span about=\"#mwt1\">\n</span>");
+add("html2html", "Templates: Ugly templates: 1. Navbox template parses badly 
leading to table misnesting\n(Parsoid-centric)", "<table about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[\"{|\\n|\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo&lt;/table>\"}},\"i\":0}},\"\\n|bar\\n|}\"]}'
 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,32,2,0],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"src\":\"{|\\n|{{echo|foo&lt;/table>}}\\n|bar\\n|}\"}'>\n<tbody
 data-parsoid='{\"dsr\":[3,24,0,0]}'><tr 
data-parsoid='{\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[3,24,0,0]}'><td
 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[3,24,1,0]}'>foo</td></tr></tbody></table><span
 about=\"#mwt1\" data-parsoid=\"{}\">\n|bar</span><span about=\"#mwt1\" 
data-parsoid=\"{}\">\n</span>");
 add("html2html", "Templates: Ugly templates: 4. newline-only template 
parameter inconsistency", "\n");
 add("html2html", "pre-save transform: subst:", "<p 
data-parsoid='{\"dsr\":[0,23,0,0]}'>This is a test template</p>");
 add("html2html", "pre-save transform: normal template", "<p 
data-parsoid='{\"dsr\":[0,25,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[0,25,8,9]}'>{{test}}</span></p>");
@@ -932,11 +932,11 @@
 add("html2html", "Gallery override link with malicious javascript (bug 
34852)", "\t\t* <div style=\"width: 155px\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[4,239,26,6]}'>\n\t\t\t<div 
class=\"thumb\" style=\"width: 150px;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[34,182,41,6]}'><div 
style=\"margin:68px auto;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[75,176,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\":[106,170,null,null]}'/></div></div>\n\t\t\t<div 
class=\"gallerytext\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[186,230,25,6]}'>\n<p 
data-parsoid='{\"dsr\":[212,219,0,0]}'>caption</p>\n\n\t\t\t</div>\n\t\t</div>\n");
 add("html2html", "Gallery with invalid title as link (bug 43964)", "\t\t* <div 
style=\"width: 155px\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[4,229,26,6]}'>\n\t\t\t<div 
class=\"thumb\" style=\"width: 150px;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[34,182,41,6]}'><div 
style=\"margin:68px auto;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[75,176,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\":[106,170,null,null]}'/></div></div>\n\t\t\t<div 
class=\"gallerytext\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[186,220,25,6]}'>\t\t\t</div>\n\t\t</div>\n");
 add("html2html", "Disable TOC", "<p 
data-parsoid='{\"dsr\":[0,4,0,0]}'>Lead</p>\n\n<h2 
data-parsoid='{\"dsr\":[6,252,2,2]}'> <span class=\"mw-headline\" 
id=\"Section_1\" data-parsoid='{\"stx\":\"html\",\"dsr\":[9,66,41,7]}'>Section 
1</span><span class=\"mw-editsection\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[66,249,29,7]}'><span 
class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[95,140,37,7]}'>[</span>[/index.php?title=Parser_test&amp;action=edit&amp;section=1
 edit]<span class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[197,242,37,7]}'>]</span></span> 
</h2>\n\n<h2 data-parsoid='{\"dsr\":[254,500,2,2]}'> <span 
class=\"mw-headline\" id=\"Section_2\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[257,314,41,7]}'>Section 2</span><span 
class=\"mw-editsection\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[314,497,29,7]}'><span 
class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[343,388,37,7]}'>[</span>[/index.php?title=Parser_test&amp;action=edit&amp;section=2
 edit]<span class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[445,490,37,7]}'>]</span></span> 
</h2>\n\n<h2 data-parsoid='{\"dsr\":[502,748,2,2]}'> <span 
class=\"mw-headline\" id=\"Section_3\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[505,562,41,7]}'>Section 3</span><span 
class=\"mw-editsection\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[562,745,29,7]}'><span 
class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[591,636,37,7]}'>[</span>[/index.php?title=Parser_test&amp;action=edit&amp;section=3
 edit]<span class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[693,738,37,7]}'>]</span></span> 
</h2>\n\n<h2 data-parsoid='{\"dsr\":[750,996,2,2]}'> <span 
class=\"mw-headline\" id=\"Section_4\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[753,810,41,7]}'>Section 4</span><span 
class=\"mw-editsection\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[810,993,29,7]}'><span 
class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[839,884,37,7]}'>[</span>[/index.php?title=Parser_test&amp;action=edit&amp;section=4
 edit]<span class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[941,986,37,7]}'>]</span></span> 
</h2>\n\n<h2 data-parsoid='{\"dsr\":[998,1244,2,2]}'> <span 
class=\"mw-headline\" id=\"Section_5\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1001,1058,41,7]}'>Section 
5</span><span class=\"mw-editsection\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1058,1241,29,7]}'><span 
class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1087,1132,37,7]}'>[</span>[/index.php?title=Parser_test&amp;action=edit&amp;section=5
 edit]<span class=\"mw-editsection-bracket\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[1189,1234,37,7]}'>]</span></span> 
</h2>\n");
-add("html2html", "Ref: 5. body should accept generic wikitext", "<p 
data-parsoid='{\"dsr\":[0,81,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"This is a &lt;b 
data-parsoid=&#39;{\\\"dsr\\\":[17,38,3,3]}&#39;>&lt;a rel=\\\"mw:WikiLink\\\" 
href=\\\"./Bolded_link\\\" title=\\\"Bolded link\\\" 
data-parsoid=&#39;{\\\"stx\\\":\\\"simple\\\",\\\"a\\\":{\\\"href\\\":\\\"./Bolded_link\\\"},\\\"sa\\\":{\\\"href\\\":\\\"bolded
 link\\\"},\\\"dsr\\\":[20,35,2,2]}&#39;>bolded link&lt;/a>&lt;/b> and this is 
a &lt;span about=\\\"#mwt3\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=&#39;{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"echo\\\",\\\"href\\\":\\\"./Template:Echo\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"transclusion\\\"}},\\\"i\\\":0}}]}&#39;
 
data-parsoid=&#39;{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\",\\\"spc\\\":[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"]}]],\\\"dsr\\\":[53,74,null,null]}&#39;>transclusion&lt;/span>\\n\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid=\"{&quot;src&quot;:&quot;&lt;ref>This is a '''[[bolded link]]''' 
and this is a 
{{echo|transclusion}}\\n&lt;/ref>&quot;,&quot;dsr&quot;:[2,81,5,6]}\"><a 
href=\"#cite_note-1\">[1]</a></span></p>\n\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt5\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[83,97,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-1-0\">↑</a></span> This is a <b><a rel=\"mw:WikiLink\" 
href=\"./Bolded_link\" title=\"Bolded link\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded
 link\"},\"dsr\":[20,35,2,2]}'>bolded link</a></b> and this is a <span 
about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"transclusion\"}},\"i\":0}}]}'
 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[53,74,null,null]}'>transclusion</span>\n</li></ol>");
-add("html2html", "Ref: 7. No p-wrapping in ref-body", "<p 
data-parsoid='{\"dsr\":[0,30,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo\\nbar\\nbaz\\nbooz\\n\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref>foo\\nbar\\nbaz\\nbooz\\n&lt;/ref>\",\"dsr\":[2,30,5,6]}'><a
 href=\"#cite_note-1\">[1]</a></span></p>\n\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[32,46,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-1-0\">↑</a></span> foo\nbar\nbaz\nbooz\n</li></ol>");
-add("html2html", "Ref: 8. transclusion wikitext has lower precedence", "<p 
data-parsoid='{\"dsr\":[0,47,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo &lt;span 
typeof=\\\"mw:Nowiki\\\" 
data-parsoid=&#39;{\\\"src\\\":\\\"{{\\\",\\\"dsr\\\":[11,13,0,0]}&#39;>{{&lt;/span>echo|\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref>foo {{echo|&lt;/ref>\",\"dsr\":[2,24,5,6]}'><a 
href=\"#cite_note-1\">[1]</a></span> B C<span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[28,47,8,9]}'>}}</span></p>\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[48,62,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-1-0\">↑</a></span> foo <span 
typeof=\"mw:Nowiki\">{{</span>echo|</li></ol>");
-add("html2html", "Ref: 10. Unclosed HTML tags should not leak out of 
ref-body", "<p data-parsoid='{\"dsr\":[0,25,0,0]}'>A <span about=\"#mwt2\" 
class=\"reference\" data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"&lt;b 
data-parsoid=&#39;{\\\"stx\\\":\\\"html\\\",\\\"autoInsertedEnd\\\":true,\\\"dsr\\\":[7,15,3,0]}&#39;>
 foo &lt;/b>\"},\"attrs\":{}}' id=\"cite_ref-1-0\" rel=\"dc:references\" 
typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>&lt;b> foo 
&lt;/ref>\",\"dsr\":[2,21,5,6]}'><a href=\"#cite_note-1\">[1]</a></span> B 
C</p>\n\n<ol class=\"references\" typeof=\"mw:Extension/references\" 
about=\"#mwt4\" data-parsoid='{\"src\":\"&lt;references 
/>\",\"dsr\":[27,41,2,2]}' data-mw='{\"name\":\"references\",\"attrs\":{}}'><li 
about=\"#cite_note-1\" id=\"cite_note-1\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-1-0\">↑</a></span> <b 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[7,15,3,0]}'> 
foo </b></li></ol>");
-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=\"reference\" 
data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\"}}' id=\"cite_ref-a-1-0\" 
rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref name=\\\"a\\\" />\",\"dsr\":[2,18,16,0]}'><a 
href=\"#cite_note-a-1\">[1]</a></span>\nB <span about=\"#mwt4\" 
class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"bar\"},\"attrs\":{\"name\":\"b\"}}'
 id=\"cite_ref-b-2-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref 
name=\\\"b\\\">bar&lt;/ref>\",\"dsr\":[21,44,14,6]}'><a 
href=\"#cite_note-b-2\">[2]</a></span></p>\n\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt6\" 
data-parsoid='{\"src\":\"&lt;references>\\n&lt;ref 
name=\\\"a\\\">foo&lt;/ref>\\n&lt;/references>\",\"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=\\\"reference\\\" 
data-mw=&#39;{\\\"name\\\":\\\"ref\\\",\\\"body\\\":{\\\"html\\\":\\\"foo\\\"},\\\"attrs\\\":{\\\"name\\\":\\\"a\\\"}}&#39;
 rel=\\\"dc:references\\\" typeof=\\\"mw:Extension/ref\\\">&lt;a 
href=\\\"#cite_note-a-1\\\">[1]&lt;/a>&lt;/span>\\n\"},\"attrs\":{}}'><li 
about=\"#cite_note-a-1\" id=\"cite_note-a-1\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-a-1-0\">↑</a></span> foo</li><li about=\"#cite_note-b-2\" 
id=\"cite_note-b-2\"><span rel=\"mw:referencedBy\"><a 
href=\"#cite_ref-b-2-0\">↑</a></span> bar</li></ol>");
+add("html2html", "Ref: 5. body should accept generic wikitext", "<p 
data-parsoid='{\"dsr\":[0,81,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"This is a &lt;b 
data-parsoid=&#39;{\\\"dsr\\\":[17,38,3,3]}&#39;>&lt;a rel=\\\"mw:WikiLink\\\" 
href=\\\"./Bolded_link\\\" title=\\\"Bolded link\\\" 
data-parsoid=&#39;{\\\"stx\\\":\\\"simple\\\",\\\"a\\\":{\\\"href\\\":\\\"./Bolded_link\\\"},\\\"sa\\\":{\\\"href\\\":\\\"bolded
 link\\\"},\\\"dsr\\\":[20,35,2,2]}&#39;>bolded link&lt;/a>&lt;/b> and this is 
a &lt;span about=\\\"#mwt3\\\" typeof=\\\"mw:Transclusion\\\" 
data-mw=&#39;{\\\"parts\\\":[{\\\"template\\\":{\\\"target\\\":{\\\"wt\\\":\\\"echo\\\",\\\"href\\\":\\\"./Template:Echo\\\"},\\\"params\\\":{\\\"1\\\":{\\\"wt\\\":\\\"transclusion\\\"}},\\\"i\\\":0}}]}&#39;
 
data-parsoid=&#39;{\\\"pi\\\":[[{\\\"k\\\":\\\"1\\\",\\\"spc\\\":[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\"]}]],\\\"dsr\\\":[53,74,null,null]}&#39;>transclusion&lt;/span>\\n\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid=\"{&quot;src&quot;:&quot;&lt;ref>This is a '''[[bolded link]]''' 
and this is a 
{{echo|transclusion}}\\n&lt;/ref>&quot;,&quot;dsr&quot;:[2,81,5,6]}\"><a 
href=\"#cite_note-1\" data-parsoid=\"{}\">[1]</a></span></p>\n\n<ol 
class=\"references\" typeof=\"mw:Extension/references\" about=\"#mwt5\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[83,97,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" 
data-parsoid=\"{}\"><a href=\"#cite_ref-1-0\" data-parsoid=\"{}\">↑</a></span> 
This is a <b data-parsoid='{\"dsr\":[17,38,3,3]}'><a rel=\"mw:WikiLink\" 
href=\"./Bolded_link\" title=\"Bolded link\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Bolded_link\"},\"sa\":{\"href\":\"bolded
 link\"},\"dsr\":[20,35,2,2]}'>bolded link</a></b> and this is a <span 
about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"transclusion\"}},\"i\":0}}]}'
 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[53,74,null,null]}'>transclusion</span>\n</li></ol>");
+add("html2html", "Ref: 7. No p-wrapping in ref-body", "<p 
data-parsoid='{\"dsr\":[0,30,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo\\nbar\\nbaz\\nbooz\\n\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref>foo\\nbar\\nbaz\\nbooz\\n&lt;/ref>\",\"dsr\":[2,30,5,6]}'><a
 href=\"#cite_note-1\" data-parsoid=\"{}\">[1]</a></span></p>\n\n<ol 
class=\"references\" typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[32,46,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" 
data-parsoid=\"{}\"><a href=\"#cite_ref-1-0\" data-parsoid=\"{}\">↑</a></span> 
foo\nbar\nbaz\nbooz\n</li></ol>");
+add("html2html", "Ref: 8. transclusion wikitext has lower precedence", "<p 
data-parsoid='{\"dsr\":[0,47,0,0]}'>A <span about=\"#mwt2\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"foo &lt;span 
typeof=\\\"mw:Nowiki\\\" 
data-parsoid=&#39;{\\\"src\\\":\\\"{{\\\",\\\"dsr\\\":[11,13,0,0]}&#39;>{{&lt;/span>echo|\"},\"attrs\":{}}'
 id=\"cite_ref-1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref>foo {{echo|&lt;/ref>\",\"dsr\":[2,24,5,6]}'><a 
href=\"#cite_note-1\" data-parsoid=\"{}\">[1]</a></span> B C<span 
typeof=\"mw:Nowiki\" data-parsoid='{\"dsr\":[28,47,8,9]}'>}}</span></p>\n<ol 
class=\"references\" typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[48,62,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" 
data-parsoid=\"{}\"><a href=\"#cite_ref-1-0\" data-parsoid=\"{}\">↑</a></span> 
foo <span typeof=\"mw:Nowiki\" 
data-parsoid='{\"src\":\"{{\",\"dsr\":[11,13,0,0]}'>{{</span>echo|</li></ol>");
+add("html2html", "Ref: 10. Unclosed HTML tags should not leak out of 
ref-body", "<p data-parsoid='{\"dsr\":[0,25,0,0]}'>A <span about=\"#mwt2\" 
class=\"reference\" data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"&lt;b 
data-parsoid=&#39;{\\\"stx\\\":\\\"html\\\",\\\"autoInsertedEnd\\\":true,\\\"dsr\\\":[7,15,3,0]}&#39;>
 foo &lt;/b>\"},\"attrs\":{}}' id=\"cite_ref-1-0\" rel=\"dc:references\" 
typeof=\"mw:Extension/ref\" data-parsoid='{\"src\":\"&lt;ref>&lt;b> foo 
&lt;/ref>\",\"dsr\":[2,21,5,6]}'><a href=\"#cite_note-1\" 
data-parsoid=\"{}\">[1]</a></span> B C</p>\n\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"src\":\"&lt;references />\",\"dsr\":[27,41,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" 
data-parsoid=\"{}\"><a href=\"#cite_ref-1-0\" data-parsoid=\"{}\">↑</a></span> 
<b 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[7,15,3,0]}'> 
foo </b></li></ol>");
+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=\"reference\" 
data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"a\"}}' id=\"cite_ref-a-1-0\" 
rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref name=\\\"a\\\" />\",\"dsr\":[2,18,16,0]}'><a 
href=\"#cite_note-a-1\" data-parsoid=\"{}\">[1]</a></span>\nB <span 
about=\"#mwt4\" class=\"reference\" 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"bar\"},\"attrs\":{\"name\":\"b\"}}'
 id=\"cite_ref-b-2-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"src\":\"&lt;ref 
name=\\\"b\\\">bar&lt;/ref>\",\"dsr\":[21,44,14,6]}'><a href=\"#cite_note-b-2\" 
data-parsoid=\"{}\">[2]</a></span></p>\n\n<ol class=\"references\" 
typeof=\"mw:Extension/references\" about=\"#mwt6\" 
data-parsoid='{\"src\":\"&lt;references>\\n&lt;ref 
name=\\\"a\\\">foo&lt;/ref>\\n&lt;/references>\",\"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=\\\"reference\\\" 
data-mw=&#39;{\\\"name\\\":\\\"ref\\\",\\\"body\\\":{\\\"html\\\":\\\"foo\\\"},\\\"attrs\\\":{\\\"name\\\":\\\"a\\\"}}&#39;
 rel=\\\"dc:references\\\" typeof=\\\"mw:Extension/ref\\\">&lt;a 
href=\\\"#cite_note-a-1\\\">[1]&lt;/a>&lt;/span>\\n\"},\"attrs\":{}}'><li 
about=\"#cite_note-a-1\" id=\"cite_note-a-1\" data-parsoid=\"{}\"><span 
rel=\"mw:referencedBy\" data-parsoid=\"{}\"><a href=\"#cite_ref-a-1-0\" 
data-parsoid=\"{}\">↑</a></span> foo</li><li about=\"#cite_note-b-2\" 
id=\"cite_note-b-2\" data-parsoid=\"{}\"><span rel=\"mw:referencedBy\" 
data-parsoid=\"{}\"><a href=\"#cite_ref-b-2-0\" 
data-parsoid=\"{}\">↑</a></span> bar</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,43,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[22,42,8,9]}'>=a=</span> </p>\n\n<p 
data-parsoid='{\"dsr\":[45,66,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[45,65,8,9]}'>=a=</span>\t</p>\n\n<p 
data-parsoid='{\"dsr\":[68,90,0,0]}'><span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[68,88,8,9]}'>=a=</span> \t</p>\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");

-- 
To view, visit https://gerrit.wikimedia.org/r/162112
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iec9b47522524d3bea32b08f740b09d3427fc2c4a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to