Arlolra has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/339689 )

Change subject: T50900: Set mw:Error and provide error info in data-mw for 
ext/tpl
......................................................................

T50900: Set mw:Error and provide error info in data-mw for ext/tpl

Change-Id: I00131350acda113e90bdae7fddd0cd04802b343c
---
M lib/wt2html/tt/ExtensionHandler.js
M lib/wt2html/tt/TemplateHandler.js
M tests/citeParserTests-blacklist.js
M tests/parserTests-blacklist.js
M tests/parserTests.txt
5 files changed, 76 insertions(+), 50 deletions(-)


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

diff --git a/lib/wt2html/tt/ExtensionHandler.js 
b/lib/wt2html/tt/ExtensionHandler.js
index 8b70ac8..eb63e25 100644
--- a/lib/wt2html/tt/ExtensionHandler.js
+++ b/lib/wt2html/tt/ExtensionHandler.js
@@ -136,13 +136,27 @@
                        this.parseExtensionHTML.bind(this, token, cb)
                );
        } else {
-               /* Convert this into a span with extension content as plain 
text */
+               // Convert this into a span with extension content as plain text
+               var argInfo = Util.getArgInfo(token);
+               var dataMw = argInfo.dict;
+               dataMw.errors = [
+                       {
+                               key: 'mw-api-extexpand-error',
+                               message: 'Could not expand extension source.',
+                       },
+               ];
+               if (!token.dataAttribs.tagWidths[1]) {
+                       dataMw.body = null;  // Serialize to self-closing.
+               }
                var span = new TagTk('span', [
-                       new KV('typeof', 'mw:Extension/' + extensionName),
+                       new KV('typeof', 'mw:Error mw:Extension/' + 
extensionName),
                        new KV('about', token.getAttribute('about')),
-               ], token.dataAttribs);
-
-               cb({ tokens: [span, token.getAttribute('source'), new 
EndTagTk('span')] });
+                       new KV('data-mw', JSON.stringify(dataMw)),
+               ], {
+                       tsr: Util.clone(token.dataAttribs.tsr),
+                       tmp: { nativeExt: true },  // Suppress dsr warnings
+               });
+               cb({ tokens: [ span, token.getAttribute('source'), new 
EndTagTk('span') ] });
        }
 };
 
diff --git a/lib/wt2html/tt/TemplateHandler.js 
b/lib/wt2html/tt/TemplateHandler.js
index ccb832d..d7026ae 100644
--- a/lib/wt2html/tt/TemplateHandler.js
+++ b/lib/wt2html/tt/TemplateHandler.js
@@ -1082,13 +1082,27 @@
                // XXX: store type too (and cache tokens/x-mediawiki)
                cb(null, env.pageCache[title] /* , type */);
        } else if (!env.conf.parsoid.fetchTemplates) {
-               // TODO: Set mw:Error and provide error info in data-mw
-               // see https://phabricator.wikimedia.org/T50900
-               var tokens = Util.placeholder('Warning: ' +
-                               'Page/template fetching disabled, and no cache 
for ' + title);
-               tokens[0].addAttribute('about', '#' + state.wrappedObjectId);
-               tokens.push(this.getEncapsulationInfoEndTag(state));
-               tokens.rank = this.rank;
+               var tokens = [state.token.dataAttribs.src];
+               if (this.options.wrapTemplates) {
+                       // FIXME: We've already emitted a start meta to the 
accumulator in
+                       // `_encapsulateTemplate`.  We could reach for that and 
modify it,
+                       // or refactor to emit it later for all paths, but the 
pragmatic
+                       // thing to do is just ignore it and wrap this anew.
+                       state.wrappedObjectId = env.newObjectId();
+                       tokens = this.getEncapsulationInfo(state, tokens);
+                       var argInfo = this.getArgInfo(state);
+                       argInfo.dict.errors = [
+                               {
+                                       key: 'mw-api-tplfetch-error',
+                                       message: 'Page / template fetching 
disabled, and no cache for ' + title,
+                               },
+                       ];
+                       var start = tokens[0];
+                       start.dataAttribs.tmp.tplarginfo = 
JSON.stringify(argInfo);
+                       var typeOf = start.getAttribute('typeof');
+                       start.setAttribute('typeof', 'mw:Error ' + typeOf);
+                       tokens.push(this.getEncapsulationInfoEndTag(state));
+               }
                parentCB({ tokens: tokens });
        } else {
                // We are about to start an async request for a template
diff --git a/tests/citeParserTests-blacklist.js 
b/tests/citeParserTests-blacklist.js
index d783f95..b3f1cbd 100644
--- a/tests/citeParserTests-blacklist.js
+++ b/tests/citeParserTests-blacklist.js
@@ -46,8 +46,8 @@
 add("wt2html", "<ref> in a <!--comment-->", "<p 
data-parsoid='{\"dsr\":[0,10,0,0]}'>Templating</p><!--<ref&#x3E;{{simple 
template}}</ref&#x3E;-->\n\n<ol class=\"mw-references\" 
typeof=\"mw:Extension/references\" about=\"#mwt2\" 
data-parsoid='{\"dsr\":[49,62,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'></ol>");
 add("wt2html", "<!--comment--> in a <ref> (bug 5384)", "<p 
data-parsoid='{\"dsr\":[0,39,0,0]}'>Templating<span about=\"#mwt2\" 
class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" 
typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[10,39,5,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}'><a
 href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\"><span 
class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<ol 
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt4\" 
data-parsoid='{\"dsr\":[41,54,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\"><a href=\"./Main_Page#cite_ref-1\" 
rel=\"mw:referencedBy\"><span class=\"mw-linkback-text\">↑ </span></a> <span 
id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text\" 
data-parsoid=\"{}\">Text<!--comment--></span></li></ol>");
 add("wt2html", "<references> after <gallery> (bug 6164)", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt2\" class=\"mw-ref\" 
id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[0,14,5,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}'><a
 href=\"./Main_Page#cite_note-1\" style=\"counter-reset: mw-Ref 1;\"><span 
class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<ul class=\"gallery 
mw-gallery-traditional\" typeof=\"mw:Extension/gallery\" about=\"#mwt6\" 
data-parsoid='{\"dsr\":[16,51,2,2]}' 
data-mw='{\"name\":\"gallery\",\"attrs\":{},\"body\":{\"extsrc\":\"Image:Foobar.jpg\"}}'>\n<li
 class=\"gallerybox\" style=\"width: 155px;\"><div class=\"thumb\" 
style=\"width: 150px; height: 150px;\"><span style=\"display: inline-block; 
height: 100%; vertical-align: middle;\"></span><span typeof=\"mw:Image\" 
style=\"vertical-align: middle; display: inline-block;\"><a 
href=\"./File:Foobar.jpg\"><img resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"14\" width=\"120\"/></a></span></div><div 
class=\"gallerytext\"></div></li>\n</ul>\n\n<ol class=\"mw-references\" 
typeof=\"mw:Extension/references\" about=\"#mwt5\" 
data-parsoid='{\"dsr\":[53,66,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li about=\"#cite_note-1\" 
id=\"cite_note-1\"><a href=\"./Main_Page#cite_ref-1\" 
rel=\"mw:referencedBy\"><span class=\"mw-linkback-text\">↑ </span></a> <span 
id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text\" 
data-parsoid=\"{}\">one</span></li></ol>");
-add("wt2html", "{{REVISIONID}} on page with <ref> (bug 6299)", "<p 
data-parsoid='{\"dsr\":[0,30,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt2\" 
data-parsoid='{\"dsr\":[0,14,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:REVISIONID</span><span about=\"#mwt3\" class=\"mw-ref\" 
id=\"cite_ref-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[14,30,5,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}'><a
 href=\"./Main_Page#cite_note-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\":[30,30,0,0]}' 
data-mw='{\"name\":\"references\",\"attrs\":{},\"autoGenerated\":true}'><li 
about=\"#cite_note-1\" id=\"cite_note-1\"><a href=\"./Main_Page#cite_ref-1\" 
rel=\"mw:referencedBy\"><span class=\"mw-linkback-text\">↑ </span></a> <span 
id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text\" 
data-parsoid=\"{}\">elite</span></li></ol>");
-add("wt2html", "{{REVISIONID}} on page without <ref> (bug 6299 sanity check)", 
"<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,14,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:REVISIONID</span></p>");
+add("wt2html", "{{REVISIONID}} on page with <ref> (bug 6299)", "<p 
data-parsoid='{\"dsr\":[0,30,0,0]}'><span about=\"#mwt3\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:REVISIONID\"}],\"i\":0}}]}'>{{REVISIONID}}</span><span about=\"#mwt4\" 
class=\"mw-ref\" id=\"cite_ref-1\" rel=\"dc:references\" 
typeof=\"mw:Extension/ref\" data-parsoid='{\"dsr\":[14,30,5,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-1\"},\"attrs\":{}}'><a
 href=\"./Main_Page#cite_note-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=\"#mwt5\" 
data-parsoid='{\"dsr\":[30,30,0,0]}' 
data-mw='{\"name\":\"references\",\"attrs\":{},\"autoGenerated\":true}'><li 
about=\"#cite_note-1\" id=\"cite_note-1\"><a href=\"./Main_Page#cite_ref-1\" 
rel=\"mw:referencedBy\"><span class=\"mw-linkback-text\">↑ </span></a> <span 
id=\"mw-reference-text-cite_note-1\" class=\"mw-reference-text\" 
data-parsoid=\"{}\">elite</span></li></ol>");
+add("wt2html", "{{REVISIONID}} on page without <ref> (bug 6299 sanity check)", 
"<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:REVISIONID\"}],\"i\":0}}]}'>{{REVISIONID}}</span></p>");
 add("wt2html", "Ref with content followed by blank ref", "<p 
data-parsoid='{\"dsr\":[0,31,0,0]}'><span about=\"#mwt2\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[0,31,18,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-blank-1\"},\"attrs\":{\"name\":\"blank\"}}'><a
 href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 
1;\"><span class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<p 
data-parsoid='{\"dsr\":[33,52,0,0]}'><span about=\"#mwt4\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[33,52,19,0]}' 
data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"blank\"}}'><a 
href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 1;\"><span 
class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<ol 
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt6\" 
data-parsoid='{\"dsr\":[54,67,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li 
about=\"#cite_note-blank-1\" id=\"cite_note-blank-1\"><span 
rel=\"mw:referencedBy\"><a href=\"./Main_Page#cite_ref-blank_1-0\"><span 
class=\"mw-linkback-text\">1 </span></a><a 
href=\"./Main_Page#cite_ref-blank_1-1\"><span class=\"mw-linkback-text\">2 
</span></a></span> <span id=\"mw-reference-text-cite_note-blank-1\" 
class=\"mw-reference-text\" data-parsoid=\"{}\">content</span></li></ol>");
 add("wt2html", "Blank ref followed by ref with content", "<p 
data-parsoid='{\"dsr\":[0,19,0,0]}'><span about=\"#mwt2\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[0,19,19,0]}' 
data-mw='{\"name\":\"ref\",\"attrs\":{\"name\":\"blank\"}}'><a 
href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 1;\"><span 
class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<p 
data-parsoid='{\"dsr\":[21,52,0,0]}'><span about=\"#mwt4\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[21,52,18,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-blank-1\"},\"attrs\":{\"name\":\"blank\"}}'><a
 href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 
1;\"><span class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<ol 
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt6\" 
data-parsoid='{\"dsr\":[54,67,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li 
about=\"#cite_note-blank-1\" id=\"cite_note-blank-1\"><span 
rel=\"mw:referencedBy\"><a href=\"./Main_Page#cite_ref-blank_1-0\"><span 
class=\"mw-linkback-text\">1 </span></a><a 
href=\"./Main_Page#cite_ref-blank_1-1\"><span class=\"mw-linkback-text\">2 
</span></a></span> <span id=\"mw-reference-text-cite_note-blank-1\" 
class=\"mw-reference-text\" data-parsoid=\"{}\">content</span></li></ol>");
 add("wt2html", "Regression: non-blank ref \"0\" followed by ref with content", 
"<p data-parsoid='{\"dsr\":[0,25,0,0]}'><span about=\"#mwt2\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-0\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[0,25,18,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"id\":\"mw-reference-text-cite_note-blank-1\"},\"attrs\":{\"name\":\"blank\"}}'><a
 href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 
1;\"><span class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<p 
data-parsoid='{\"dsr\":[27,58,0,0]}'><span about=\"#mwt4\" class=\"mw-ref\" 
id=\"cite_ref-blank_1-1\" rel=\"dc:references\" typeof=\"mw:Extension/ref\" 
data-parsoid='{\"dsr\":[27,58,18,6]}' 
data-mw='{\"name\":\"ref\",\"body\":{\"html\":\"content\"},\"attrs\":{\"name\":\"blank\"}}'><a
 href=\"./Main_Page#cite_note-blank-1\" style=\"counter-reset: mw-Ref 
1;\"><span class=\"mw-reflink-text\">[1]</span></a></span></p>\n\n<ol 
class=\"mw-references\" typeof=\"mw:Extension/references\" about=\"#mwt6\" 
data-parsoid='{\"dsr\":[60,73,2,2]}' 
data-mw='{\"name\":\"references\",\"attrs\":{}}'><li 
about=\"#cite_note-blank-1\" id=\"cite_note-blank-1\"><span 
rel=\"mw:referencedBy\"><a href=\"./Main_Page#cite_ref-blank_1-0\"><span 
class=\"mw-linkback-text\">1 </span></a><a 
href=\"./Main_Page#cite_ref-blank_1-1\"><span class=\"mw-linkback-text\">2 
</span></a></span> <span id=\"mw-reference-text-cite_note-blank-1\" 
class=\"mw-reference-text\" data-parsoid=\"{}\">0</span></li></ol>");
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 93087ee..415e95f 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -64,39 +64,39 @@
 add("wt2html", "Multiple list tags generated by templates", "<li 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,44,null,null],\"pi\":[[{\"k\":\"1\"}],[{\"k\":\"1\"}],[{\"k\":\"1\"}]]}'
 
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\"]}'>a\n</li><li
 about=\"#mwt1\">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\",\"autoInsertedEnd\":true,\"dsr\":[6,19,6,0],\"liHackSrc\":\"*
 \"}'>li-hack</li>\n<li about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[20,52,2,null],\"pi\":[[{\"k\":\"1\"}]]}'
 data-mw='{\"parts\":[\"* 
\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"&lt;li>templated
 li-hack\"}},\"i\":0}}]}'>templated li-hack</li>\n<li 
data-parsoid='{\"autoInsertedEnd\":true,\"dsr\":[53,66,1,0]}'> <!--foo--> 
</li><li 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[66,114,4,0]}'>
 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>");
-add("wt2html", "Magic Word: {{CURRENTMONTH1}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"CURRENTMONTH1\",\"href\":\"./Template:CURRENTMONTH1\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:CURRENTMONTH1</span></p>");
-add("wt2html", "Magic Words LOCAL (UTC)", "<ul 
data-parsoid='{\"dsr\":[0,252,0,0]}'><li data-parsoid='{\"dsr\":[0,16,1,0]}'> 
<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[2,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH\",\"function\":\"localmonth\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li
 data-parsoid='{\"dsr\":[17,34,1,0]}'> <span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt2\" 
data-parsoid='{\"dsr\":[19,34,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH1\",\"href\":\"./Template:LOCALMONTH1\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:LOCALMONTH1</span></li>\n<li data-parsoid='{\"dsr\":[35,55,1,0]}'> 
<span about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[37,55,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAME\",\"function\":\"localmonthname\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li
 data-parsoid='{\"dsr\":[56,79,1,0]}'> <span about=\"#mwt4\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[58,79,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAMEGEN\",\"function\":\"localmonthnamegen\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li
 data-parsoid='{\"dsr\":[80,102,1,0]}'> <span about=\"#mwt5\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[82,102,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHABBREV\",\"function\":\"localmonthabbrev\"},\"params\":{},\"i\":0}}]}'>Jan</span></li>\n<li
 data-parsoid='{\"dsr\":[103,117,1,0]}'> <span about=\"#mwt6\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[105,117,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY\",\"function\":\"localday\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li
 data-parsoid='{\"dsr\":[118,133,1,0]}'> <span about=\"#mwt7\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[120,133,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY2\",\"function\":\"localday2\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li
 data-parsoid='{\"dsr\":[134,152,1,0]}'> <span about=\"#mwt8\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[136,152,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAYNAME\",\"function\":\"localdayname\"},\"params\":{},\"i\":0}}]}'>Thursday</span></li>\n<li
 data-parsoid='{\"dsr\":[153,168,1,0]}'> <span about=\"#mwt9\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[155,168,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALYEAR\",\"function\":\"localyear\"},\"params\":{},\"i\":0}}]}'>1970</span></li>\n<li
 data-parsoid='{\"dsr\":[169,184,1,0]}'> <span about=\"#mwt10\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[171,184,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIME\",\"function\":\"localtime\"},\"params\":{},\"i\":0}}]}'>00:02</span></li>\n<li
 data-parsoid='{\"dsr\":[185,200,1,0]}'> <span about=\"#mwt11\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[187,200,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALHOUR\",\"function\":\"localhour\"},\"params\":{},\"i\":0}}]}'>00</span></li>\n<li
 data-parsoid='{\"dsr\":[201,216,1,0]}'> <span about=\"#mwt12\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[203,216,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALWEEK\",\"function\":\"localweek\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li
 data-parsoid='{\"dsr\":[217,231,1,0]}'> <span about=\"#mwt13\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[219,231,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDOW\",\"function\":\"localdow\"},\"params\":{},\"i\":0}}]}'>4</span></li>\n<li
 data-parsoid='{\"dsr\":[232,252,1,0]}'> <span about=\"#mwt14\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[234,252,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIMESTAMP\",\"function\":\"localtimestamp\"},\"params\":{},\"i\":0}}]}'>19700101000203</span></li></ul>");
+add("wt2html", "Magic Word: {{CURRENTMONTH1}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"CURRENTMONTH1\",\"href\":\"./Template:CURRENTMONTH1\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:CURRENTMONTH1\"}],\"i\":0}}]}'>{{CURRENTMONTH1}}</span></p>");
+add("wt2html", "Magic Words LOCAL (UTC)", "<ul 
data-parsoid='{\"dsr\":[0,252,0,0]}'><li data-parsoid='{\"dsr\":[0,16,1,0]}'> 
<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[2,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH\",\"function\":\"localmonth\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li
 data-parsoid='{\"dsr\":[17,34,1,0]}'> <span about=\"#mwt3\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[19,34,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTH1\",\"href\":\"./Template:LOCALMONTH1\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:LOCALMONTH1\"}],\"i\":0}}]}'>{{LOCALMONTH1}}</span></li>\n<li 
data-parsoid='{\"dsr\":[35,55,1,0]}'> <span about=\"#mwt4\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[37,55,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAME\",\"function\":\"localmonthname\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li
 data-parsoid='{\"dsr\":[56,79,1,0]}'> <span about=\"#mwt5\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[58,79,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHNAMEGEN\",\"function\":\"localmonthnamegen\"},\"params\":{},\"i\":0}}]}'>January</span></li>\n<li
 data-parsoid='{\"dsr\":[80,102,1,0]}'> <span about=\"#mwt6\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[82,102,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALMONTHABBREV\",\"function\":\"localmonthabbrev\"},\"params\":{},\"i\":0}}]}'>Jan</span></li>\n<li
 data-parsoid='{\"dsr\":[103,117,1,0]}'> <span about=\"#mwt7\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[105,117,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY\",\"function\":\"localday\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li
 data-parsoid='{\"dsr\":[118,133,1,0]}'> <span about=\"#mwt8\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[120,133,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAY2\",\"function\":\"localday2\"},\"params\":{},\"i\":0}}]}'>01</span></li>\n<li
 data-parsoid='{\"dsr\":[134,152,1,0]}'> <span about=\"#mwt9\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[136,152,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDAYNAME\",\"function\":\"localdayname\"},\"params\":{},\"i\":0}}]}'>Thursday</span></li>\n<li
 data-parsoid='{\"dsr\":[153,168,1,0]}'> <span about=\"#mwt10\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[155,168,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALYEAR\",\"function\":\"localyear\"},\"params\":{},\"i\":0}}]}'>1970</span></li>\n<li
 data-parsoid='{\"dsr\":[169,184,1,0]}'> <span about=\"#mwt11\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[171,184,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIME\",\"function\":\"localtime\"},\"params\":{},\"i\":0}}]}'>00:02</span></li>\n<li
 data-parsoid='{\"dsr\":[185,200,1,0]}'> <span about=\"#mwt12\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[187,200,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALHOUR\",\"function\":\"localhour\"},\"params\":{},\"i\":0}}]}'>00</span></li>\n<li
 data-parsoid='{\"dsr\":[201,216,1,0]}'> <span about=\"#mwt13\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[203,216,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALWEEK\",\"function\":\"localweek\"},\"params\":{},\"i\":0}}]}'>1</span></li>\n<li
 data-parsoid='{\"dsr\":[217,231,1,0]}'> <span about=\"#mwt14\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[219,231,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALDOW\",\"function\":\"localdow\"},\"params\":{},\"i\":0}}]}'>4</span></li>\n<li
 data-parsoid='{\"dsr\":[232,252,1,0]}'> <span about=\"#mwt15\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[234,252,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"LOCALTIMESTAMP\",\"function\":\"localtimestamp\"},\"params\":{},\"i\":0}}]}'>19700101000203</span></li></ul>");
 add("wt2html", "Magic Word: {{FULLPAGENAMEE}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,17,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAMEE\",\"function\":\"fullpagenamee\"},\"params\":{},\"i\":0}}]}'>User:Ævar
 Arnfjörð Bjarmason</p>");
 add("wt2html", "Magic Word: {{TALKSPACE}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</p>");
 add("wt2html", "Magic Word: {{TALKSPACE}}, same namespace", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</p>");
-add("wt2html", "Magic Word: {{TALKSPACEE}}", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,14,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"href\":\"./Template:TALKSPACEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:TALKSPACEE</span></p>");
+add("wt2html", "Magic Word: {{TALKSPACEE}}", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"href\":\"./Template:TALKSPACEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:TALKSPACEE\"}],\"i\":0}}]}'>{{TALKSPACEE}}</span></p>");
 add("wt2html", "Magic Word: {{SUBJECTSPACE}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,16,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</p>");
 add("wt2html", "Magic Word: {{SUBJECTSPACE}}, same namespace", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,16,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</p>");
 add("wt2html", "Magic Word: {{SUBJECTSPACE}}, main namespace", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,16,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</p>");
-add("wt2html", "Magic Word: {{SUBJECTSPACEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"href\":\"./Template:SUBJECTSPACEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTSPACEE</span></p>");
+add("wt2html", "Magic Word: {{SUBJECTSPACEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"href\":\"./Template:SUBJECTSPACEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTSPACEE\"}],\"i\":0}}]}'>{{SUBJECTSPACEE}}</span></p>");
 add("wt2html", "Magic Word: {{NAMESPACE}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACE\",\"function\":\"namespace\"},\"params\":{},\"i\":0}}]}'>Main</p>");
 add("wt2html", "Magic Word: {{NAMESPACEE}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,14,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACEE\",\"function\":\"namespacee\"},\"params\":{},\"i\":0}}]}'>Main</p>");
 add("wt2html", "Magic Word: {{NAMESPACENUMBER}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,19,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACENUMBER\",\"function\":\"namespacenumber\"},\"params\":{},\"i\":0}}]}'>0</p>");
-add("wt2html", "Magic Word: {{SUBPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,15,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,15,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"href\":\"./Template:SUBPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBPAGENAME</span></p>");
-add("wt2html", "Magic Word: {{SUBPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"href\":\"./Template:SUBPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBPAGENAMEE</span></p>");
-add("wt2html", "Magic Word: {{ROOTPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"href\":\"./Template:ROOTPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:ROOTPAGENAME</span></p>");
-add("wt2html", "Magic Word: {{ROOTPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"href\":\"./Template:ROOTPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:ROOTPAGENAMEE</span></p>");
-add("wt2html", "Magic Word: {{BASEPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"href\":\"./Template:BASEPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:BASEPAGENAME</span></p>");
-add("wt2html", "Magic Word: {{BASEPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"href\":\"./Template:BASEPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:BASEPAGENAMEE</span></p>");
+add("wt2html", "Magic Word: {{SUBPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,15,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,15,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"href\":\"./Template:SUBPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBPAGENAME\"}],\"i\":0}}]}'>{{SUBPAGENAME}}</span></p>");
+add("wt2html", "Magic Word: {{SUBPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"href\":\"./Template:SUBPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBPAGENAMEE\"}],\"i\":0}}]}'>{{SUBPAGENAMEE}}</span></p>");
+add("wt2html", "Magic Word: {{ROOTPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"href\":\"./Template:ROOTPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:ROOTPAGENAME\"}],\"i\":0}}]}'>{{ROOTPAGENAME}}</span></p>");
+add("wt2html", "Magic Word: {{ROOTPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"href\":\"./Template:ROOTPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:ROOTPAGENAMEE\"}],\"i\":0}}]}'>{{ROOTPAGENAMEE}}</span></p>");
+add("wt2html", "Magic Word: {{BASEPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"href\":\"./Template:BASEPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:BASEPAGENAME\"}],\"i\":0}}]}'>{{BASEPAGENAME}}</span></p>");
+add("wt2html", "Magic Word: {{BASEPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"href\":\"./Template:BASEPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:BASEPAGENAMEE\"}],\"i\":0}}]}'>{{BASEPAGENAMEE}}</span></p>");
 add("wt2html", "Magic Word: {{TALKPAGENAME}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,16,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAME\",\"function\":\"talkpagename\"},\"params\":{},\"i\":0}}]}'>User:Ævar
 Arnfjörð Bjarmason</p>");
-add("wt2html", "Magic Word: {{TALKPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"href\":\"./Template:TALKPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:TALKPAGENAMEE</span></p>");
-add("wt2html", "Magic Word: {{SUBJECTPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,19,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,19,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"href\":\"./Template:SUBJECTPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTPAGENAME</span></p>");
-add("wt2html", "Magic Word: {{SUBJECTPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,20,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,20,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"href\":\"./Template:SUBJECTPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTPAGENAMEE</span></p>");
+add("wt2html", "Magic Word: {{TALKPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"href\":\"./Template:TALKPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:TALKPAGENAMEE\"}],\"i\":0}}]}'>{{TALKPAGENAMEE}}</span></p>");
+add("wt2html", "Magic Word: {{SUBJECTPAGENAME}}", "<p 
data-parsoid='{\"dsr\":[0,19,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,19,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"href\":\"./Template:SUBJECTPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTPAGENAME\"}],\"i\":0}}]}'>{{SUBJECTPAGENAME}}</span></p>");
+add("wt2html", "Magic Word: {{SUBJECTPAGENAMEE}}", "<p 
data-parsoid='{\"dsr\":[0,20,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,20,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"href\":\"./Template:SUBJECTPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTPAGENAMEE\"}],\"i\":0}}]}'>{{SUBJECTPAGENAMEE}}</span></p>");
 add("wt2html", "Magic Word: {{NUMBEROFFILES}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,17,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NUMBEROFFILES\",\"function\":\"numberoffiles\"},\"params\":{},\"i\":0}}]}'>2</p>");
 add("wt2html", "Magic Word: {{PAGENAME}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,12,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAME\",\"function\":\"pagename\"},\"params\":{},\"i\":0}}]}'>User:Ævar
 Arnfjörð Bjarmason</p>");
 add("wt2html", "Magic Word: {{PAGENAMEE}}", "<span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span>");
 add("wt2html", "Magic Word: {{PAGENAMEE}} with metacharacters (T28781)", 
"<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span>");
-add("wt2html", "Magic Word: {{REVISIONID}}", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,14,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:REVISIONID</span></p>");
+add("wt2html", "Magic Word: {{REVISIONID}}", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"REVISIONID\",\"href\":\"./Template:REVISIONID\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:REVISIONID\"}],\"i\":0}}]}'>{{REVISIONID}}</span></p>");
 add("wt2html", "Magic Word: {{SCRIPTPATH}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,14,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SCRIPTPATH\",\"function\":\"scriptpath\"},\"params\":{},\"i\":0}}]}'>/</p>");
-add("wt2html", "Magic Word: {{STYLEPATH}}", "<p 
data-parsoid='{\"dsr\":[0,13,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,13,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"STYLEPATH\",\"href\":\"./Template:STYLEPATH\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:STYLEPATH</span></p>");
-add("wt2html", "Magic Word: {{PAGELANGUAGE}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGELANGUAGE\",\"href\":\"./Modèle:PAGELANGUAGE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Modèle:PAGELANGUAGE</span></p>");
-add("wt2html", "Magic Word: {{PAGELANGUAGE}} on a page with no explicitly set 
language", "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGELANGUAGE\",\"href\":\"./Template:PAGELANGUAGE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:PAGELANGUAGE</span></p>");
-add("wt2html", "Case-sensitive magic words, when cased differently, should 
just be template transclusions", "<p data-parsoid='{\"dsr\":[0,63,0,0]}'><span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"CurrentMonth\",\"href\":\"./Template:CurrentMonth\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:CurrentMonth</span>\n<span typeof=\"mw:Transclusion mw:Placeholder\" 
about=\"#mwt2\" data-parsoid='{\"dsr\":[17,31,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"currentday\",\"href\":\"./Template:Currentday\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:Currentday</span>\n<span typeof=\"mw:Transclusion mw:Placeholder\" 
about=\"#mwt3\" data-parsoid='{\"dsr\":[32,47,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"cURreNTweEK\",\"href\":\"./Template:CURreNTweEK\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:CURreNTweEK</span>\n<span typeof=\"mw:Transclusion mw:Placeholder\" 
about=\"#mwt4\" data-parsoid='{\"dsr\":[48,63,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"currentHour\",\"href\":\"./Template:CurrentHour\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:CurrentHour</span></p>");
+add("wt2html", "Magic Word: {{STYLEPATH}}", "<p 
data-parsoid='{\"dsr\":[0,13,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,13,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"STYLEPATH\",\"href\":\"./Template:STYLEPATH\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:STYLEPATH\"}],\"i\":0}}]}'>{{STYLEPATH}}</span></p>");
+add("wt2html", "Magic Word: {{PAGELANGUAGE}}", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGELANGUAGE\",\"href\":\"./Modèle:PAGELANGUAGE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Modèle:PAGELANGUAGE\"}],\"i\":0}}]}'>{{PAGELANGUAGE}}</span></p>");
+add("wt2html", "Magic Word: {{PAGELANGUAGE}} on a page with no explicitly set 
language", "<p data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGELANGUAGE\",\"href\":\"./Template:PAGELANGUAGE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:PAGELANGUAGE\"}],\"i\":0}}]}'>{{PAGELANGUAGE}}</span></p>");
+add("wt2html", "Case-sensitive magic words, when cased differently, should 
just be template transclusions", "<p data-parsoid='{\"dsr\":[0,63,0,0]}'><span 
about=\"#mwt2\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"CurrentMonth\",\"href\":\"./Template:CurrentMonth\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:CurrentMonth\"}],\"i\":0}}]}'>{{CurrentMonth}}</span>\n<span 
about=\"#mwt4\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[17,31,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"currentday\",\"href\":\"./Template:Currentday\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:Currentday\"}],\"i\":0}}]}'>{{currentday}}</span>\n<span 
about=\"#mwt6\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[32,47,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"cURreNTweEK\",\"href\":\"./Template:CURreNTweEK\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:CURreNTweEK\"}],\"i\":0}}]}'>{{cURreNTweEK}}</span>\n<span 
about=\"#mwt8\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[48,63,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"currentHour\",\"href\":\"./Template:CurrentHour\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:CurrentHour\"}],\"i\":0}}]}'>{{currentHour}}</span></p>");
 add("wt2html", "Parsoid: Template-generated DISPLAYTITLE", "<meta 
property=\"mw:PageProp/displaytitle\" content=\"Foo\" about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,29,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"{{echo|DISPLAYTITLE}}:Foo\",\"href\":\"./Foo\"},\"params\":{},\"i\":0}}]}'/>");
 add("wt2html", "Namespace 1 {{ns:1}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,8,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:1\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>1</p>");
 add("wt2html", "Namespace 1 {{ns:01}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,9,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:01\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>01</p>");
@@ -104,7 +104,7 @@
 add("wt2html", "Namespace 0 {{ns:00}} (T6783)", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,9,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:00\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>00</p>");
 add("wt2html", "Namespace -1 {{ns:-1}}", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,9,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:-1\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>-1</p>");
 add("wt2html", "Namespace (lang=de) Benutzer Diskussion {{ns:3}}", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,8,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ns:3\",\"function\":\"ns\"},\"params\":{},\"i\":0}}]}'>3</p>");
-add("wt2html", "Nonexistent template", "<p 
data-parsoid='{\"dsr\":[0,28,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,28,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"thistemplatedoesnotexist\",\"href\":\"./Template:Thistemplatedoesnotexist\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:Thistemplatedoesnotexist</span></p>");
+add("wt2html", "Nonexistent template", "<p 
data-parsoid='{\"dsr\":[0,28,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,28,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"thistemplatedoesnotexist\",\"href\":\"./Template:Thistemplatedoesnotexist\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:Thistemplatedoesnotexist\"}],\"i\":0}}]}'>{{thistemplatedoesnotexist}}</span></p>");
 add("wt2html", "Template with invalid target containing tags", "<p 
data-parsoid='{\"dsr\":[0,54,0,0]}'>{{a<b 
data-parsoid='{\"stx\":\"html\",\"dsr\":[3,11,3,4]}'>b</b>|<span 
about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[12,24,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span>|<span
 about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[25,35,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\"}},\"i\":0}}]}'>a</span>=<span
 about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[36,46,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b\"}},\"i\":0}}]}'>b</span>|a
 =b}}</p>");
 add("wt2html", "Template with invalid target containing unclosed tag", "<p 
data-parsoid='{\"dsr\":[0,49,0,0]}'>{{a<b 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[3,49,3,0]}'>|<span
 about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[7,19,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo\"}},\"i\":0}}]}'>foo</span>|<span
 about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[20,30,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\"}},\"i\":0}}]}'>a</span>=<span
 about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[31,41,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b\"}},\"i\":0}}]}'>b</span>|a
 =b}}</b></p>");
 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>");
@@ -125,7 +125,7 @@
 add("wt2html", "Templates: Wiki Tables: 1b. Fostering of entire template 
content", "<div about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"stx\":\"html\",\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,40,null,null],\"firstWikitextNode\":\"TABLE\",\"pi\":[[{\"k\":\"1\"}],[{\"k\":\"1\"}]]}'
 
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|}\"]}'>\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-parsoid='{\"fostered\":true,\"autoInsertedEnd\":true,\"dsr\":[0,29,null,null],\"firstWikitextNode\":\"TABLE\",\"pi\":[[{\"k\":\"1\"}]]}'
 
data-mw='{\"parts\":[\"{|\\n\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a\\n&lt;div>b&lt;/div>\"}},\"i\":0}},\"\\n|}\"]}'>a</p><div
 about=\"#mwt2\">b</div><table about=\"#mwt2\">\n\n\n</table>");
 add("wt2html", "Templates: Wiki Tables: 4. Templated tags, no content", 
"<table about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,25,null,null],\"pi\":[[],[]]}' 
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}}]}'>\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-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[1,35,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}'>a </span><span 
typeof=\"mw:Placeholder\" about=\"#mwt1\">Warning: Page/template fetching 
disabled, and no cache for Template:Nonexistent</span></li>\n<li 
data-parsoid='{\"dsr\":[36,71,1,0]}'><span about=\"#mwt3\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[37,71,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}'>b </span><span 
typeof=\"mw:Placeholder\" about=\"#mwt3\">Warning: Page/template fetching 
disabled, and no cache for Template:Nonexistent</span></li></ul>");
+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-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[1,35,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"a
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}'>a 
{{nonexistent|\nunused}}</span></li>\n<li 
data-parsoid='{\"dsr\":[36,71,1,0]}'><span about=\"#mwt3\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[37,71,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"b
 {{nonexistent|\\nunused}}\"}},\"i\":0}}]}'>b 
{{nonexistent|\nunused}}</span></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-parsoid='{\"dsr\":[0,40,null,null],\"pi\":[[{\"k\":\"1\"}],[{\"k\":\"1\"}],[{\"k\":\"1\"}]]}'
 
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}}]}'>ab</i><span
 about=\"#mwt1\">c</span><i about=\"#mwt1\">d</i><span 
about=\"#mwt1\">e</span></p>");
 add("wt2html", "Templates: Ugly templates: 1. Navbox template parses badly 
leading to table misnesting\n(Parsoid-centric)", "<table about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,32,2,null],\"firstWikitextNode\":\"TABLE_html\",\"pi\":[[{\"k\":\"1\"}]]}'
 
data-mw='{\"parts\":[\"{|\\n|\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"foo&lt;/table>\"}},\"i\":0}},\"\\n|bar\\n|}\"]}'>\n<tbody><tr><td>foo</td></tr></tbody></table><span
 about=\"#mwt1\">\n|bar\n</span>");
 add("wt2html", "Templates: Ugly templates: 4. newline-only template parameter 
inconsistency", "<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"}]],\"dsr\":[0,10,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"\\n\"}},\"i\":0}}]}'>\n</span>");
@@ -143,7 +143,7 @@
 add("wt2html", "Image with link parameter, wgNoFollowLinks set to false", "<p 
data-parsoid='{\"dsr\":[0,45,0,0]}'><span class=\"mw-default-size\" 
typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[{\"ck\":\"link\",\"ak\":\"link=http://example.com/\"}],\"dsr\":[0,45,null,null]}'><a
 href=\"http://example.com/\"; data-parsoid=\"{}\"><img 
resource=\"./File:Foobar.jpg\" src=\"//example.com/images/3/3a/Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"220\" width=\"1941\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"220\",\"width\":\"1941\"},\"sa\":{\"resource\":\"Image:foobar.jpg\"}}'/></a></span></p>");
 add("wt2html", "Image with link parameter, wgNoFollowDomainExceptions", "<p 
data-parsoid='{\"dsr\":[0,45,0,0]}'><span class=\"mw-default-size\" 
typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[{\"ck\":\"link\",\"ak\":\"link=http://example.com/\"}],\"dsr\":[0,45,null,null]}'><a
 href=\"http://example.com/\"; data-parsoid=\"{}\"><img 
resource=\"./File:Foobar.jpg\" src=\"//example.com/images/3/3a/Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"220\" width=\"1941\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"220\",\"width\":\"1941\"},\"sa\":{\"resource\":\"Image:foobar.jpg\"}}'/></a></span></p>");
 add("wt2html", "SVG thumbnails with invalid language code", "<figure 
class=\"mw-default-size\" typeof=\"mw:Image/Thumb\" 
data-parsoid='{\"optList\":[{\"ck\":\"thumbnail\",\"ak\":\"thumb\"},{\"ck\":\"caption\",\"ak\":\"caption\"},{\"ck\":\"lang\",\"ak\":\"lang=invalid.language.code\"}],\"dsr\":[0,60,2,2]}'><a
 href=\"./File:Foobar.svg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.svg\"},\"sa\":{\"href\":\"File:Foobar.svg\"},\"dsr\":[2,null,null,null]}'><img
 resource=\"./File:Foobar.svg\" 
src=\"//example.com/images/thumb/f/ff/Foobar.svg/220px-Foobar.svg\" 
lang=\"invalid.language.code\" data-file-width=\"240\" data-file-height=\"180\" 
data-file-type=\"drawing\" height=\"165\" width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.svg\",\"lang\":\"invalid.language.code\",\"height\":\"165\",\"width\":\"220\"},\"sa\":{\"resource\":\"File:Foobar.svg\",\"lang\":\"lang=invalid.language.code\"}}'/></a><figcaption
 data-parsoid='{\"dsr\":[null,58,null,null]}'>caption</figcaption></figure>");
-add("wt2html", "T2561: {{/Subpage}}", "<p 
data-parsoid='{\"dsr\":[0,12,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,12,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"/Subpage\",\"href\":\"./Page/Subpage\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for Page/Subpage</span></p>");
+add("wt2html", "T2561: {{/Subpage}}", "<p 
data-parsoid='{\"dsr\":[0,12,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,12,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"/Subpage\",\"href\":\"./Page/Subpage\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Page/Subpage\"}],\"i\":0}}]}'>{{/Subpage}}</span></p>");
 add("wt2html", "PAGESINCATEGORY invalid title fatal (r33546 fix)", "<p 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,27,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGESINCATEGORY:&lt;bogus>\",\"function\":\"pagesincategory\"},\"params\":{},\"i\":0}}]}'>Parser
 function implementation for pf_pagesincategory missing in Parsoid.</p>");
 add("wt2html", "Parsoid: Defaultsort (template-generated)", "<meta 
property=\"mw:PageProp/categorydefaultsort\" content=\"Foo\" about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,28,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"{{echo|DEFAULTSORT}}:Foo\",\"href\":\"./Foo\"},\"params\":{},\"i\":0}}]}'/>");
 add("wt2html", "Short headings with trailing space should match behavior of 
Parser::doHeadings (T21910)", "<p data-parsoid='{\"dsr\":[0,100,0,0]}'>=== 
\nThe line above must have a trailing space!\n=== <!--\n--> <!-- -->\nBut just 
in case it doesn't...</p>");
@@ -165,12 +165,12 @@
 add("wt2html", "Inline HTML vs wiki block nesting", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><b 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[0,17,3,0]}'>Bold
 paragraph</b></p><b 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"autoInsertedStart\":true,\"dsr\":[17,37,0,0]}'>\n\n<p
 data-parsoid='{\"dsr\":[19,37,0,0]}'>New wiki paragraph</p></b>");
 add("wt2html", "Special page transclusion", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,30,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser
 function implementation for pf_special missing in Parsoid.</p>");
 add("wt2html", "Special page transclusion twice (T7021)", "<p 
data-parsoid='{\"dsr\":[0,61,0,0]}'><span about=\"#mwt1\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[0,30,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"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\":[31,61,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:Prefixindex/Xyzzyx\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser
 function implementation for pf_special missing in Parsoid.</span></p>");
-add("wt2html", "Transclusion of default MediaWiki message", "<p 
data-parsoid='{\"dsr\":[0,22,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,22,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:Mainpage\",\"href\":\"./MediaWiki:Mainpage\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
MediaWiki:Mainpage</span></p>");
-add("wt2html", "Transclusion of nonexistent MediaWiki message", "<p 
data-parsoid='{\"dsr\":[0,25,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,25,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:Mainpagexxx\",\"href\":\"./MediaWiki:Mainpagexxx\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
MediaWiki:Mainpagexxx</span></p>");
-add("wt2html", "Transclusion of MediaWiki message with underscore", "<p 
data-parsoid='{\"dsr\":[0,27,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,27,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history_short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
MediaWiki:History_short</span></p>");
-add("wt2html", "Transclusion of MediaWiki message with space", "<p 
data-parsoid='{\"dsr\":[0,27,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,27,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history 
short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
MediaWiki:History_short</span></p>");
+add("wt2html", "Transclusion of default MediaWiki message", "<p 
data-parsoid='{\"dsr\":[0,22,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,22,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:Mainpage\",\"href\":\"./MediaWiki:Mainpage\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
MediaWiki:Mainpage\"}],\"i\":0}}]}'>{{MediaWiki:Mainpage}}</span></p>");
+add("wt2html", "Transclusion of nonexistent MediaWiki message", "<p 
data-parsoid='{\"dsr\":[0,25,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,25,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:Mainpagexxx\",\"href\":\"./MediaWiki:Mainpagexxx\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
MediaWiki:Mainpagexxx\"}],\"i\":0}}]}'>{{MediaWiki:Mainpagexxx}}</span></p>");
+add("wt2html", "Transclusion of MediaWiki message with underscore", "<p 
data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history_short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
MediaWiki:History_short\"}],\"i\":0}}]}'>{{MediaWiki:history_short}}</span></p>");
+add("wt2html", "Transclusion of MediaWiki message with space", "<p 
data-parsoid='{\"dsr\":[0,27,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,27,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"MediaWiki:history 
short\",\"href\":\"./MediaWiki:History_short\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
MediaWiki:History_short\"}],\"i\":0}}]}'>{{MediaWiki:history 
short}}</span></p>");
 add("wt2html", "Special:Search page linking.", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,18,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Special:search\",\"function\":\"special\"},\"params\":{},\"i\":0}}]}'>Parser
 function implementation for pf_special missing in Parsoid.</p>");
-add("wt2html", "Say the magic word", "<ul 
data-parsoid='{\"dsr\":[0,544,0,0]}'><li data-parsoid='{\"dsr\":[0,14,1,0]}'> 
<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[2,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAME\",\"function\":\"pagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[15,30,1,0]}'> <span 
about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[17,30,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span></li>\n<li
 data-parsoid='{\"dsr\":[31,49,1,0]}'> <span about=\"#mwt3\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[33,49,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAME\",\"function\":\"fullpagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[50,69,1,0]}'> <span 
about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[52,69,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAMEE\",\"function\":\"fullpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[70,88,1,0]}'> <span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt5\" 
data-parsoid='{\"dsr\":[72,88,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"href\":\"./Template:BASEPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:BASEPAGENAME</span></li>\n<li data-parsoid='{\"dsr\":[89,108,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt6\" 
data-parsoid='{\"dsr\":[91,108,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"href\":\"./Template:BASEPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:BASEPAGENAMEE</span></li>\n<li data-parsoid='{\"dsr\":[109,126,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt7\" 
data-parsoid='{\"dsr\":[111,126,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"href\":\"./Template:SUBPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBPAGENAME</span></li>\n<li data-parsoid='{\"dsr\":[127,145,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt8\" 
data-parsoid='{\"dsr\":[129,145,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"href\":\"./Template:SUBPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBPAGENAMEE</span></li>\n<li data-parsoid='{\"dsr\":[146,164,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt9\" 
data-parsoid='{\"dsr\":[148,164,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"href\":\"./Template:ROOTPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:ROOTPAGENAME</span></li>\n<li data-parsoid='{\"dsr\":[165,184,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt10\" 
data-parsoid='{\"dsr\":[167,184,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"href\":\"./Template:ROOTPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:ROOTPAGENAMEE</span></li>\n<li data-parsoid='{\"dsr\":[185,203,1,0]}'> 
<span about=\"#mwt11\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[187,203,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAME\",\"function\":\"talkpagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[204,223,1,0]}'> <span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt12\" 
data-parsoid='{\"dsr\":[206,223,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"href\":\"./Template:TALKPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:TALKPAGENAMEE</span></li>\n<li data-parsoid='{\"dsr\":[224,245,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt13\" 
data-parsoid='{\"dsr\":[226,245,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"href\":\"./Template:SUBJECTPAGENAME\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTPAGENAME</span></li>\n<li 
data-parsoid='{\"dsr\":[246,268,1,0]}'> <span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt14\" 
data-parsoid='{\"dsr\":[248,268,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"href\":\"./Template:SUBJECTPAGENAMEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTPAGENAMEE</span></li>\n<li 
data-parsoid='{\"dsr\":[269,285,1,0]}'> <span about=\"#mwt15\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[271,285,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACEE\",\"function\":\"namespacee\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[286,301,1,0]}'> <span about=\"#mwt16\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[288,301,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACE\",\"function\":\"namespace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[302,323,1,0]}'> <span about=\"#mwt17\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[304,323,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACENUMBER\",\"function\":\"namespacenumber\"},\"params\":{},\"i\":0}}]}'>0</span></li>\n<li
 data-parsoid='{\"dsr\":[324,339,1,0]}'> <span about=\"#mwt18\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[326,339,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</span></li>\n<li
 data-parsoid='{\"dsr\":[340,356,1,0]}'> <span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt19\" 
data-parsoid='{\"dsr\":[342,356,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"href\":\"./Template:TALKSPACEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:TALKSPACEE</span></li>\n<li data-parsoid='{\"dsr\":[357,375,1,0]}'> 
<span about=\"#mwt20\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[359,375,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[376,395,1,0]}'> <span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt21\" 
data-parsoid='{\"dsr\":[378,395,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"href\":\"./Template:SUBJECTSPACEE\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:SUBJECTSPACEE</span></li>\n<li data-parsoid='{\"dsr\":[396,544,1,0]}'> 
<span typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt22\" 
data-parsoid='{\"dsr\":[398,544,null,null],\"pi\":[[{\"k\":\"1\"},{\"k\":\"2\"},{\"k\":\"3\"},{\"k\":\"4\"},{\"k\":\"5\"},{\"k\":\"6\"},{\"k\":\"7\"}]]}'
 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Dynamic\",\"href\":\"./Template:Dynamic\"},\"params\":{\"1\":{\"wt\":\"{{NUMBEROFUSERS}}\"},\"2\":{\"wt\":\"{{NUMBEROFPAGES}}\"},\"3\":{\"wt\":\"{{CURRENTVERSION}}\"},\"4\":{\"wt\":\"{{CONTENTLANGUAGE}}\"},\"5\":{\"wt\":\"{{DIRECTIONMARK}}\"},\"6\":{\"wt\":\"{{CURRENTTIMESTAMP}}\"},\"7\":{\"wt\":\"{{NUMBEROFARTICLES}}\"}},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Template:Dynamic</span></li></ul>");
+add("wt2html", "Say the magic word", "<ul 
data-parsoid='{\"dsr\":[0,544,0,0]}'><li data-parsoid='{\"dsr\":[0,14,1,0]}'> 
<span about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[2,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAME\",\"function\":\"pagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[15,30,1,0]}'> <span 
about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[17,30,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"PAGENAMEE\",\"function\":\"pagenamee\"},\"params\":{},\"i\":0}}]}'></span></li>\n<li
 data-parsoid='{\"dsr\":[31,49,1,0]}'> <span about=\"#mwt3\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[33,49,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAME\",\"function\":\"fullpagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[50,69,1,0]}'> <span 
about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[52,69,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"FULLPAGENAMEE\",\"function\":\"fullpagenamee\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[70,88,1,0]}'> <span 
about=\"#mwt6\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[72,88,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAME\",\"href\":\"./Template:BASEPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:BASEPAGENAME\"}],\"i\":0}}]}'>{{BASEPAGENAME}}</span></li>\n<li 
data-parsoid='{\"dsr\":[89,108,1,0]}'> <span about=\"#mwt8\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[91,108,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"BASEPAGENAMEE\",\"href\":\"./Template:BASEPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:BASEPAGENAMEE\"}],\"i\":0}}]}'>{{BASEPAGENAMEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[109,126,1,0]}'> <span about=\"#mwt10\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[111,126,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAME\",\"href\":\"./Template:SUBPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBPAGENAME\"}],\"i\":0}}]}'>{{SUBPAGENAME}}</span></li>\n<li 
data-parsoid='{\"dsr\":[127,145,1,0]}'> <span about=\"#mwt12\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[129,145,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBPAGENAMEE\",\"href\":\"./Template:SUBPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBPAGENAMEE\"}],\"i\":0}}]}'>{{SUBPAGENAMEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[146,164,1,0]}'> <span about=\"#mwt14\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[148,164,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAME\",\"href\":\"./Template:ROOTPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:ROOTPAGENAME\"}],\"i\":0}}]}'>{{ROOTPAGENAME}}</span></li>\n<li 
data-parsoid='{\"dsr\":[165,184,1,0]}'> <span about=\"#mwt16\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[167,184,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ROOTPAGENAMEE\",\"href\":\"./Template:ROOTPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:ROOTPAGENAMEE\"}],\"i\":0}}]}'>{{ROOTPAGENAMEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[185,203,1,0]}'> <span about=\"#mwt17\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[187,203,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAME\",\"function\":\"talkpagename\"},\"params\":{},\"i\":0}}]}'>Parser
 test</span></li>\n<li data-parsoid='{\"dsr\":[204,223,1,0]}'> <span 
about=\"#mwt19\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[206,223,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKPAGENAMEE\",\"href\":\"./Template:TALKPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:TALKPAGENAMEE\"}],\"i\":0}}]}'>{{TALKPAGENAMEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[224,245,1,0]}'> <span about=\"#mwt21\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[226,245,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAME\",\"href\":\"./Template:SUBJECTPAGENAME\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTPAGENAME\"}],\"i\":0}}]}'>{{SUBJECTPAGENAME}}</span></li>\n<li 
data-parsoid='{\"dsr\":[246,268,1,0]}'> <span about=\"#mwt23\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[248,268,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTPAGENAMEE\",\"href\":\"./Template:SUBJECTPAGENAMEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTPAGENAMEE\"}],\"i\":0}}]}'>{{SUBJECTPAGENAMEE}}</span></li>\n<li
 data-parsoid='{\"dsr\":[269,285,1,0]}'> <span about=\"#mwt24\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[271,285,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACEE\",\"function\":\"namespacee\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[286,301,1,0]}'> <span about=\"#mwt25\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[288,301,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACE\",\"function\":\"namespace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[302,323,1,0]}'> <span about=\"#mwt26\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[304,323,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"NAMESPACENUMBER\",\"function\":\"namespacenumber\"},\"params\":{},\"i\":0}}]}'>0</span></li>\n<li
 data-parsoid='{\"dsr\":[324,339,1,0]}'> <span about=\"#mwt27\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[326,339,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACE\",\"function\":\"talkspace\"},\"params\":{},\"i\":0}}]}'>Talk</span></li>\n<li
 data-parsoid='{\"dsr\":[340,356,1,0]}'> <span about=\"#mwt29\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[342,356,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"TALKSPACEE\",\"href\":\"./Template:TALKSPACEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:TALKSPACEE\"}],\"i\":0}}]}'>{{TALKSPACEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[357,375,1,0]}'> <span about=\"#mwt30\" 
typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[359,375,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACE\",\"function\":\"subjectspace\"},\"params\":{},\"i\":0}}]}'>Main</span></li>\n<li
 data-parsoid='{\"dsr\":[376,395,1,0]}'> <span about=\"#mwt32\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[378,395,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"SUBJECTSPACEE\",\"href\":\"./Template:SUBJECTSPACEE\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:SUBJECTSPACEE\"}],\"i\":0}}]}'>{{SUBJECTSPACEE}}</span></li>\n<li 
data-parsoid='{\"dsr\":[396,544,1,0]}'> <span about=\"#mwt41\" 
typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\"},{\"k\":\"2\"},{\"k\":\"3\"},{\"k\":\"4\"},{\"k\":\"5\"},{\"k\":\"6\"},{\"k\":\"7\"}]],\"dsr\":[398,544,null,null]}'
 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Dynamic\",\"href\":\"./Template:Dynamic\"},\"params\":{\"1\":{\"wt\":\"{{NUMBEROFUSERS}}\"},\"2\":{\"wt\":\"{{NUMBEROFPAGES}}\"},\"3\":{\"wt\":\"{{CURRENTVERSION}}\"},\"4\":{\"wt\":\"{{CONTENTLANGUAGE}}\"},\"5\":{\"wt\":\"{{DIRECTIONMARK}}\"},\"6\":{\"wt\":\"{{CURRENTTIMESTAMP}}\"},\"7\":{\"wt\":\"{{NUMBEROFARTICLES}}\"}},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Template:Dynamic\"}],\"i\":0}}]}'>{{Dynamic|{{NUMBEROFUSERS}}|{{NUMBEROFPAGES}}|{{CURRENTVERSION}}|{{CONTENTLANGUAGE}}|{{DIRECTIONMARK}}|{{CURRENTTIMESTAMP}}|{{NUMBEROFARTICLES}}}}</span></li></ul>");
 add("wt2html", "Gallery override link with absolute external link with 
LanguageConverter", "<ul class=\"gallery mw-gallery-traditional\" 
typeof=\"mw:Extension/gallery\" about=\"#mwt2\" 
data-parsoid='{\"dsr\":[0,87,2,2]}' 
data-mw='{\"name\":\"gallery\",\"attrs\":{},\"body\":{\"extsrc\":\"\\nFile:foobar.jpg|caption|alt=galleryalt|link=http://www.example.org\\n\"}}'>\n<li
 class=\"gallerybox\" style=\"width: 155px;\"><div class=\"thumb\" 
style=\"width: 150px; height: 150px;\"><span style=\"display: inline-block; 
height: 100%; vertical-align: middle;\"></span><span typeof=\"mw:Image\" 
style=\"vertical-align: middle; display: inline-block;\"><a 
href=\"http://www.example.org\";><img alt=\"galleryalt\" 
resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"14\" width=\"120\"/></a></span></div><div 
class=\"gallerytext\">caption</div></li>\n</ul>");
 add("wt2html", "Illegal character references (T106578)", "<dl 
data-parsoid='{\"dsr\":[0,167,0,0]}'><dt data-parsoid='{\"dsr\":[0,6,1,0]}'> 
Null</dt><dd data-parsoid='{\"stx\":\"row\",\"dsr\":[6,13,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#00;\",\"srcContent\":\"�\",\"dsr\":[8,13,null,null]}'>�</span></dd>\n<dt
 data-parsoid='{\"dsr\":[14,18,1,0]}'> FF</dt><dd 
data-parsoid='{\"stx\":\"row\",\"dsr\":[18,25,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xC;\",\"srcContent\":\"\\f\",\"dsr\":[20,25,null,null]}'>\f</span></dd>\n<dt
 data-parsoid='{\"dsr\":[26,30,1,0]}'> CR</dt><dd 
data-parsoid='{\"stx\":\"row\",\"dsr\":[30,37,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xD;\",\"srcContent\":\"\\r\",\"dsr\":[32,37,null,null]}'>\r</span></dd>\n<dt
 data-parsoid='{\"dsr\":[38,53,1,0]}'> Control (low)</dt><dd 
data-parsoid='{\"stx\":\"row\",\"dsr\":[53,59,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#8;\",\"srcContent\":\"\\b\",\"dsr\":[55,59,null,null]}'>\b</span></dd>\n<dt
 data-parsoid='{\"dsr\":[60,76,1,0]}'> Control (high)</dt><dd 
data-parsoid='{\"stx\":\"row\",\"dsr\":[76,91,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#x7F;\",\"srcContent\":\"\",\"dsr\":[78,84,null,null]}'></span>
 <span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#x9F;\",\"srcContent\":\"Ÿ\",\"dsr\":[85,91,null,null]}'>Ÿ</span></dd>\n<dt
 data-parsoid='{\"dsr\":[92,103,1,0]}'> Surrogate</dt><dd 
data-parsoid='{\"stx\":\"row\",\"dsr\":[103,121,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xD83D;\",\"srcContent\":\"�\",\"dsr\":[105,113,null,null]}'>�</span><span
 typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xDCA9;\",\"srcContent\":\"�\",\"dsr\":[113,121,null,null]}'>�</span></dd>\n<dt
 data-parsoid='{\"dsr\":[122,156,1,0]}'> This is an okay astral 
character</dt><dd data-parsoid='{\"stx\":\"row\",\"dsr\":[156,167,1,0]}'> <span 
typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#x1F4A9;\",\"srcContent\":\"💩\",\"dsr\":[158,167,null,null]}'>💩</span></dd></dl>");
 add("wt2html", "Centre-aligned image", "<figure class=\"mw-default-size 
mw-halign-center\" typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[{\"ck\":\"center\",\"ak\":\"centre\"}],\"dsr\":[0,27,2,2]}'><a
 href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{\"href\":\"Image:foobar.jpg\"},\"dsr\":[2,25,null,null]}'><img
 resource=\"./File:Foobar.jpg\" src=\"//example.com/images/3/3a/Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"220\" width=\"1941\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"220\",\"width\":\"1941\"},\"sa\":{\"resource\":\"Image:foobar.jpg\"}}'/></a></figure>");
@@ -182,7 +182,7 @@
 add("wt2html", "HTML with raw HTML ($wgRawHtml==true)", "<p 
data-parsoid='{\"dsr\":[0,39,0,0]}'>&lt;html>&lt;script>alert(1);&lt;/script>&lt;/html></p>");
 add("wt2html", "Parents of subpages, one level up, not named", "<p 
data-parsoid='{\"dsr\":[0,7,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Subpage_test/L1/L2\" title=\"Subpage test/L1/L2\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Subpage_test/L1/L2\"},\"sa\":{\"href\":\"../\"},\"dsr\":[0,7,2,2]}'>Subpage_test/L1/L2</a></p>");
 add("wt2html", "Parents of subpages, two levels up, with lots of extra 
trailing slashes.", "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><a 
rel=\"mw:WikiLink\" href=\"./Subpage_test/L1\" title=\"Subpage test/L1\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Subpage_test/L1\"},\"sa\":{\"href\":\"../../////\"},\"dsr\":[0,14,2,2]}'>Subpage_test/L1</a></p>");
-add("wt2html", "RAW magic word", "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span 
typeof=\"mw:Transclusion mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,14,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"RAW:QUERTY\",\"href\":\"./RAW:QUERTY\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for RAW:QUERTY</span></p>");
+add("wt2html", "RAW magic word", "<p data-parsoid='{\"dsr\":[0,14,0,0]}'><span 
about=\"#mwt2\" typeof=\"mw:Error mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[0,14,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"RAW:QUERTY\",\"href\":\"./RAW:QUERTY\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
RAW:QUERTY\"}],\"i\":0}}]}'>{{RAW:QUERTY}}</span></p>");
 add("wt2html", "anchorencode", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,28,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"anchorencode:foo 
bar©#%n\",\"function\":\"anchorencode\"},\"params\":{},\"i\":0}}]}'>foo 
bar©#%n</p>");
 add("wt2html", "anchorencode trims spaces", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,36,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"anchorencode: 
__pretty__please__\",\"function\":\"anchorencode\"},\"params\":{},\"i\":0}}]}'>__pretty__please__</p>");
 add("wt2html", "anchorencode deals with links", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,40,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"anchorencode: 
[[hello|world]] 
[[hi]]\",\"function\":\"anchorencode\"},\"params\":{},\"i\":0}}]}'>world 
hi</p>");
@@ -192,9 +192,9 @@
 add("wt2html", "Link to a section of a variant of this title shouldn't be 
parsed as self-link", "<p data-parsoid='{\"dsr\":[0,79,0,0]}'><a 
rel=\"mw:WikiLink\" href=\"./Dуна\" title=\"Dуна\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Dуна\"},\"sa\":{\"href\":\"Dуна\"},\"dsr\":[0,8,2,2]}'>Dуна</a>
 is a self-link while <a rel=\"mw:WikiLink\" href=\"./Dunа#Foo\" title=\"Dunа\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Dunа#Foo\"},\"sa\":{\"href\":\"Dunа#Foo\"},\"dsr\":[30,42,2,2]}'>Dunа#Foo</a>
 and <a rel=\"mw:WikiLink\" href=\"./Dуна#Foo\" title=\"Dуна\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Dуна#Foo\"},\"sa\":{\"href\":\"Dуна#Foo\"},\"dsr\":[47,59,2,2]}'>Dуна#Foo</a>
 are not self-links.</p>");
 add("wt2html", "Link to pages in language variants", "<p 
data-parsoid='{\"dsr\":[0,41,0,0]}'>Main Page can be written as <a 
rel=\"mw:WikiLink\" href=\"./Маин_Паге\" title=\"Маин Паге\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Маин_Паге\"},\"sa\":{\"href\":\"Маин
 Паге\"},\"dsr\":[28,41,2,2]}'>Маин Паге</a></p>");
 add("wt2html", "Multiple links to pages in language variants", "<p 
data-parsoid='{\"dsr\":[0,68,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\":[0,13,2,2]}'>Main Page</a> can be written as <a 
rel=\"mw:WikiLink\" href=\"./Маин_Паге\" title=\"Маин Паге\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Маин_Паге\"},\"sa\":{\"href\":\"Маин
 Паге\"},\"dsr\":[32,45,2,2]}'>Маин Паге</a> same as <a rel=\"mw:WikiLink\" 
href=\"./Маин_Паге\" title=\"Маин Паге\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Маин_Паге\"},\"sa\":{\"href\":\"Маин
 Паге\"},\"dsr\":[54,67,2,2]}'>Маин Паге</a>.</p>");
-add("wt2html", "Simple template in language variants", "<p 
data-parsoid='{\"dsr\":[0,8,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,8,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"тест\",\"href\":\"./Шаблон:Тест\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for Шаблон:Тест</span></p>");
-add("wt2html", "Template with explicit namespace in language variants", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Template:тест\",\"href\":\"./Шаблон:Тест\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for Шаблон:Тест</span></p>");
-add("wt2html", "Basic test for template parameter in language variants", "<p 
data-parsoid='{\"dsr\":[0,23,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,23,null,null],\"pi\":[[{\"k\":\"param\",\"named\":true}]]}'
 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"парамтест\",\"href\":\"./Шаблон:Парамтест\"},\"params\":{\"param\":{\"wt\":\"foo\"}},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for 
Шаблон:Парамтест</span></p>");
+add("wt2html", "Simple template in language variants", "<p 
data-parsoid='{\"dsr\":[0,8,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,8,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"тест\",\"href\":\"./Шаблон:Тест\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Шаблон:Тест\"}],\"i\":0}}]}'>{{тест}}</span></p>");
+add("wt2html", "Template with explicit namespace in language variants", "<p 
data-parsoid='{\"dsr\":[0,17,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,17,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Template:тест\",\"href\":\"./Шаблон:Тест\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Шаблон:Тест\"}],\"i\":0}}]}'>{{Template:тест}}</span></p>");
+add("wt2html", "Basic test for template parameter in language variants", "<p 
data-parsoid='{\"dsr\":[0,23,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"param\",\"named\":true}]],\"dsr\":[0,23,null,null]}'
 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"парамтест\",\"href\":\"./Шаблон:Парамтест\"},\"params\":{\"param\":{\"wt\":\"foo\"}},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Шаблон:Парамтест\"}],\"i\":0}}]}'>{{парамтест|param=foo}}</span></p>");
 add("wt2html", "Stripping -{}- tags (language variants)", "<p 
data-parsoid='{\"dsr\":[0,36,0,0]}'>Latin proverb: -{Ne nuntium necare}-</p>");
 add("wt2html", "Prevent conversion with -{}- tags (language variants)", "<p 
data-parsoid='{\"dsr\":[0,31,0,0]}'>Latinski: -{Ne nuntium necare}-</p>");
 add("wt2html", "Prevent conversion of text with -{}- tags (language 
variants)", "<p data-parsoid='{\"dsr\":[0,31,0,0]}'>Latinski: -{Ne nuntium 
necare}-</p>");
@@ -245,8 +245,8 @@
 add("wt2html", "Page status indicators: Torture test", "<p 
data-parsoid='{\"dsr\":[0,240,0,0]}'>&lt;indicator name=\"01\">hello 
world&lt;/indicator>\n&lt;indicator name=\"02\"><a rel=\"mw:WikiLink\" 
href=\"./Main_Page\" title=\"Main Page\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main
 Page\"},\"dsr\":[66,79,2,2]}'>Main Page</a>&lt;/indicator>\n&lt;indicator 
name=\"03\"><span typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[{\"ck\":\"width\",\"ak\":\"25px\"},{\"ck\":\"link\",\"ak\":\"link=\"}],\"dsr\":[113,143,null,null]}'><span
 data-parsoid=\"{}\"><img resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/25px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"3\" width=\"25\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"3\",\"width\":\"25\"},\"sa\":{\"resource\":\"File:Foobar.jpg\"}}'/></span></span>&lt;/indicator>\n&lt;indicator
 name=\"04\"><span typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[{\"ck\":\"width\",\"ak\":\"25px\"}],\"dsr\":[177,201,null,null]}'><a
 href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{\"href\":\"File:Foobar.jpg\"}}'><img
 resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/25px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"3\" width=\"25\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"3\",\"width\":\"25\"},\"sa\":{\"resource\":\"File:Foobar.jpg\"}}'/></a></span>&lt;/indicator>\n&lt;indicator
 name=\"05\">* foo</p>\n<ul data-parsoid='{\"dsr\":[241,258,0,0]}'><li 
data-parsoid='{\"dsr\":[241,258,1,0]}'> bar&lt;/indicator></li></ul>\n<p 
data-parsoid='{\"dsr\":[259,359,0,0]}'>&lt;indicator name=\"06\"><span 
typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[280,300,8,9]}'>foo</span>&lt;/indicator>\n&lt;indicator 
name=\"07\"> Preformatted&lt;/indicator></p>\n<p 
data-parsoid='{\"dsr\":[360,381,0,0]}'>&lt;indicator name=\"08\"></p><div 
data-parsoid='{\"stx\":\"html\",\"autoInsertedEnd\":true,\"dsr\":[381,519,5,0]}'>Broken
 tag&lt;/indicator>\n<p data-parsoid='{\"dsr\":[409,495,0,0]}'>&lt;indicator 
name=\"09\">{| class=wikitable\n| cell\n|}&lt;/indicator>\n&lt;indicator 
name=\"10\">Two</p>\n\n<p 
data-parsoid='{\"dsr\":[497,519,0,0]}'>paragraphs&lt;/indicator></p></div>");
 add("wt2html", "T33098 Template which includes system messages which includes 
the template", "<p about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,13,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Identical\",\"href\":\"./Template:Identical\"},\"params\":{},\"i\":0}}]}'>Parser
 function implementation for pf_int missing in Parsoid.\nParser function 
implementation for pf_int missing in Parsoid.</p>");
 add("wt2html", "T33490 Turkish: ucfirst 'ix'", "<p about=\"#mwt1\" 
typeof=\"mw:Transclusion\" data-parsoid='{\"dsr\":[0,14,0,0],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfirst:ix\",\"function\":\"ucfirst\"},\"params\":{},\"i\":0}}]}'>Ix</p>");
-add("wt2html", "T33490 Turkish: ucfırst (with a dotless i)", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfırst:blah\",\"href\":\"./Ucfırst:blah\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for Ucfırst:blah</span></p>");
-add("wt2html", "T33490 ucfırst (with a dotless i) with English language", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" 
data-parsoid='{\"dsr\":[0,16,null,null],\"pi\":[[]]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfırst:blah\",\"href\":\"./Ucfırst:blah\"},\"params\":{},\"i\":0}}]}'>Warning:
 Page/template fetching disabled, and no cache for Ucfırst:blah</span></p>");
+add("wt2html", "T33490 Turkish: ucfırst (with a dotless i)", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfırst:blah\",\"href\":\"./Ucfırst:blah\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Ucfırst:blah\"}],\"i\":0}}]}'>{{ucfırst:blah}}</span></p>");
+add("wt2html", "T33490 ucfırst (with a dotless i) with English language", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span about=\"#mwt2\" typeof=\"mw:Error 
mw:Transclusion\" data-parsoid='{\"pi\":[[]],\"dsr\":[0,16,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"ucfırst:blah\",\"href\":\"./Ucfırst:blah\"},\"params\":{},\"errors\":[{\"key\":\"mw-api-tplfetch-error\",\"message\":\"Page
 / template fetching disabled, and no cache for 
Ucfırst:blah\"}],\"i\":0}}]}'>{{ucfırst:blah}}</span></p>");
 add("wt2html", "T35845: Headings become cursive in TOC when they contain an 
image", "<meta property=\"mw:PageProp/toc\" 
data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n<h2
 id=\"Image\" data-parsoid='{\"dsr\":[8,40,2,2]}'> Image <span 
class=\"mw-default-size\" typeof=\"mw:Image\" 
data-parsoid='{\"optList\":[],\"dsr\":[17,37,null,null]}'><a 
href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{\"href\":\"Image:foobar.jpg\"}}'><img
 resource=\"./File:Foobar.jpg\" src=\"//example.com/images/3/3a/Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"220\" width=\"1941\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"220\",\"width\":\"1941\"},\"sa\":{\"resource\":\"Image:foobar.jpg\"}}'/></a></span>
 </h2>");
 add("wt2html", "T35845 (2): Headings become bold in TOC when they contain a 
blockquote", "<meta property=\"mw:PageProp/toc\" 
data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n<h2
 id=\"Quote\" data-parsoid='{\"dsr\":[8,44,2,2]}'> <blockquote 
data-parsoid='{\"stx\":\"html\",\"dsr\":[11,41,12,13]}'>Quote</blockquote> 
</h2>");
 add("wt2html", "Multiple tags in TOC", "<meta property=\"mw:PageProp/toc\" 
data-parsoid='{\"src\":\"__TOC__\",\"magicSrc\":\"__TOC__\",\"dsr\":[0,7,null,null]}'/>\n<h2
 id=\"Foo_Bar\" data-parsoid='{\"dsr\":[8,35,2,2]}'> <i 
data-parsoid='{\"stx\":\"html\",\"dsr\":[11,21,3,4]}'>Foo</i> <b 
data-parsoid='{\"stx\":\"html\",\"dsr\":[22,32,3,4]}'>Bar</b> </h2>\n\n<h2 
id=\"Foo_Bar_2\" data-parsoid='{\"dsr\":[37,82,2,2]}'> <i 
data-parsoid='{\"stx\":\"html\",\"dsr\":[40,50,3,4]}'>Foo</i> <blockquote 
data-parsoid='{\"stx\":\"html\",\"dsr\":[51,79,12,13]}'>Bar</blockquote> 
</h2>");
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index be6e3a8..fc346d4 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -22746,14 +22746,12 @@
 ## recognized as an extension tag w/o a native handler.
 !! test
 LST Sections: Newfangled approach
-!! options
-parsoid={ "suppressErrors": true }
 !! wikitext
 <section begin="2011-05-16" />
 <section end="2014-04-10 (MW 1.23wmf22)" />
 !! html/parsoid
-<p><span typeof="mw:Extension/section" about="#mwt1" 
data-parsoid='{"stx":"html","selfClose":true,"src":"&lt;section 
begin=\"2011-05-16\" />","tagWidths":[30,0]}'>&lt;section begin="2011-05-16" 
/></span>
-<span typeof="mw:Extension/section" about="#mwt2" 
data-parsoid='{"stx":"html","selfClose":true,"src":"&lt;section 
end=\"2014-04-10 (MW 1.23wmf22)\" />","tagWidths":[43,0]}'>&lt;section 
end="2014-04-10 (MW 1.23wmf22)" /></span></p>
+<p><span typeof="mw:Error mw:Extension/section" about="#mwt1" 
data-mw='{"name":"section","attrs":{"begin":"2011-05-16"},"body":null,"errors":[{"key":"mw-api-extexpand-error","message":"Could
 not expand extension source."}]}'>&lt;section begin="2011-05-16" /></span>
+<span typeof="mw:Error mw:Extension/section" about="#mwt2" 
data-mw='{"name":"section","attrs":{"end":"2014-04-10 (MW 
1.23wmf22)"},"body":null,"errors":[{"key":"mw-api-extexpand-error","message":"Could
 not expand extension source."}]}'>&lt;section end="2014-04-10 (MW 1.23wmf22)" 
/></span></p>
 !! end
 
 #--------- Test stripping of empty nodes in template content ----------

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I00131350acda113e90bdae7fddd0cd04802b343c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to