jenkins-bot has submitted this change and it was merged.
Change subject: Revert "T86271: Serialize <link>s on own line always"
......................................................................
Revert "T86271: Serialize <link>s on own line always"
We opened a can of works with rtl and ltr bidi chars on some wikis.
There is more work to be done. Meanwhile, reverting this to deploy master.
This reverts commit 0337bb3bf52fb469e078a24369d361f55131c597.
Change-Id: Ib7f60c79fee50d349becd1006313a91888342d06
---
M lib/mediawiki.DOMUtils.js
M lib/wts.TagHandlers.js
M lib/wts.separators.js
M tests/mocha/jsapi.js
M tests/parserTests-blacklist.js
M tests/parserTests.txt
6 files changed, 67 insertions(+), 101 deletions(-)
Approvals:
Arlolra: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/mediawiki.DOMUtils.js b/lib/mediawiki.DOMUtils.js
index 67cdd4b..0654fab 100644
--- a/lib/mediawiki.DOMUtils.js
+++ b/lib/mediawiki.DOMUtils.js
@@ -1008,7 +1008,7 @@
* @param {MWParserEnvironment} env
*/
hasDiffMarkers: function(node, env) {
- return this.currentDiffMark(node, env) !== null ||
this.isDiffMarker(node);
+ return this.currentDiffMark(node, env) !== null;
},
hasDiffMark: function(node, env, mark) {
diff --git a/lib/wts.TagHandlers.js b/lib/wts.TagHandlers.js
index 0f42bd4..6f1158c 100644
--- a/lib/wts.TagHandlers.js
+++ b/lib/wts.TagHandlers.js
@@ -1170,16 +1170,20 @@
},
sepnls: {
before: function(node, otherNode) {
- // sol-transparent link nodes are the only
thing on their line
- if (DU.isSolTransparentLink(node) &&
!DU.isBody(otherNode)) {
+ if (DU.isSolTransparentLink(node) &&
+ ((DU.isNewElt(node) &&
!DU.isBody(otherNode)) ||
+ DU.isDocumentFragment(node.parentNode))
+ ) { // Fresh category link: Serialize on its
own line
return { min: 1 };
} else {
return {};
}
},
- after: function(node, otherNode, state) {
- // sol-transparent link nodes are the only
thing on their line
- if (DU.isSolTransparentLink(node) &&
!DU.isBody(otherNode)) {
+ after: function(node, otherNode) {
+ if (DU.isSolTransparentLink(node) &&
+ ((DU.isNewElt(node) &&
!DU.isBody(otherNode)) ||
+ DU.isDocumentFragment(node.parentNode))
+ ) { // Fresh category link: Serialize on its
own line
return { min: 1 };
} else {
return {};
diff --git a/lib/wts.separators.js b/lib/wts.separators.js
index 75fe35d..31353cf 100644
--- a/lib/wts.separators.js
+++ b/lib/wts.separators.js
@@ -75,8 +75,18 @@
* min, max structure.
*/
function getSepNlConstraints(state, nodeA, sepNlsHandlerA, nodeB,
sepNlsHandlerB) {
- var env = state.env;
var nlConstraints = { a: {}, b: {} };
+
+ // Leave constraints unchanged when:
+ // * both nodes are element nodes
+ // * both nodes were present in original wikitext
+ // * either one of them is sol-transparent
+ if (DU.isElt(nodeA) && DU.isElt(nodeB)
+ && !DU.isNewElt(nodeA) && !DU.isNewElt(nodeB)
+ && (DU.emitsSolTransparentSingleLineWT(state.env, nodeA)
+ || DU.emitsSolTransparentSingleLineWT(state.env,
nodeB))) {
+ return nlConstraints;
+ }
if (sepNlsHandlerA) {
nlConstraints.a = sepNlsHandlerA(nodeA, nodeB, state);
@@ -92,7 +102,7 @@
if (cb.min !== undefined) {
if (nlConstraints.max !== undefined &&
nlConstraints.max < cb.min) {
// Conflict, warn and let nodeB win.
- env.log("warning", "Incompatible constraints
1:", nodeA.nodeName,
+ state.env.log("warning", "Incompatible
constraints 1:", nodeA.nodeName,
nodeB.nodeName,
loggableConstraints(nlConstraints));
nlConstraints.min = cb.min;
nlConstraints.max = cb.min;
@@ -104,7 +114,7 @@
if (cb.max !== undefined) {
if (nlConstraints.min !== undefined &&
nlConstraints.min > cb.max) {
// Conflict, warn and let nodeB win.
- env.log("warning", "Incompatible constraints
2:", nodeA.nodeName,
+ state.env.log("warning", "Incompatible
constraints 2:", nodeA.nodeName,
nodeB.nodeName,
loggableConstraints(nlConstraints));
nlConstraints.min = cb.max;
nlConstraints.max = cb.max;
diff --git a/tests/mocha/jsapi.js b/tests/mocha/jsapi.js
index 8acad1b..c777365 100644
--- a/tests/mocha/jsapi.js
+++ b/tests/mocha/jsapi.js
@@ -87,7 +87,7 @@
template.name = 'bar-stub';
}
});
- String(pdoc).should.equal("{{cleanup|date = July 2012}}
'''Foo''' is a [[bar]]. {{bar-stub}}\n");
+ String(pdoc).should.equal("{{cleanup|date = July 2012}}
'''Foo''' is a [[bar]]. {{bar-stub}}");
});
});
});
@@ -105,7 +105,7 @@
template.add('test2',
Parsoid.PNodeList.fromHTML(pdoc, "I'm so <b>bold</b>!"));
}
});
- String(pdoc).should.equal("{{echo|{{cleanup|date = July
2012|test1 = <nowiki>{{foo}}</nowiki>&bar{{!}}bat<nowiki><p></nowiki>|test2 =
I'm so '''bold'''!}} '''Foo''' is a [[bar]].}} {{uncategorized}}\n");
+ String(pdoc).should.equal("{{echo|{{cleanup|date = July
2012|test1 = <nowiki>{{foo}}</nowiki>&bar{{!}}bat<nowiki><p></nowiki>|test2 =
I'm so '''bold'''!}} '''Foo''' is a [[bar]].}} {{uncategorized}}");
});
});
it('is safe to mutate template arguments', function() {
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 6aebadf..2fee96d 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -147,9 +147,11 @@
add("wt2html", "Category with identical sort key", "<link
rel=\"mw:PageProp/Category\"
href=\"./Category:MediaWiki_User's_Guide#MediaWiki%20User's%20Guide\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Category:MediaWiki_User's_Guide\"},\"sa\":{\"href\":\"Category:MediaWiki
User's Guide\"},\"dsr\":[0,58,null,null]}'/>");
add("wt2html", "Category with empty sort key", "<link
rel=\"mw:PageProp/Category\"
href=\"./Category:MediaWiki_User's_Guide#MediaWiki%20User's%20Guide\"
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Category:MediaWiki_User's_Guide\"},\"sa\":{\"href\":\"Category:MediaWiki
User's Guide\"},\"dsr\":[0,36,null,null]}'/>");
add("wt2html", "Category with empty sort key and parentheses", "<link
rel=\"mw:PageProp/Category\" href=\"./Category:Foo_(bar)#Foo\"
data-parsoid='{\"pipetrick\":true,\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Foo_(bar)\"},\"sa\":{\"href\":\"Category:Foo
(bar)\"},\"dsr\":[0,23,null,null]}'/>");
+add("wt2html", "Category with link tail", "<p
data-parsoid='{\"dsr\":[0,22,0,0]}'>123<link rel=\"mw:PageProp/Category\"
href=\"./Category:Foo\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:Foo\"},\"dsr\":[3,19,null,null]}'/>456</p>");
add("wt2html", "Category with template", "<link typeof=\"mw:ExpandedAttrs\"
about=\"#mwt2\" rel=\"mw:PageProp/Category\" href=\"./Category:Foo\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:{{echo|Foo}}\"},\"dsr\":[0,25,null,null]}'
data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Category:<span
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\"
data-parsoid=\\\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[11,23,null,null]}\\\"
data-mw=\\\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;Foo&quot;}},&quot;i&quot;:0}}]}\\\">Foo</span>\"}]]}'/>");
add("wt2html", "Category with template in sort key", "<link
rel=\"mw:PageProp/Category\" href=\"./Category:Foo#Bar\" about=\"#mwt2\"
typeof=\"mw:ExpandedAttrs\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:Foo\"},\"dsr\":[0,29,null,null]}'
data-mw='{\"attribs\":[[{\"txt\":\"mw:sortKey\"},{\"html\":\"<span
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\"
data-parsoid=\\\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[15,27,null,null]}\\\"
data-mw=\\\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;Bar&quot;}},&quot;i&quot;:0}}]}\\\">Bar</span>\"}]]}'/>");
add("wt2html", "Category with template in sort key and title", "<link
typeof=\"mw:ExpandedAttrs\" about=\"#mwt4\" rel=\"mw:PageProp/Category\"
href=\"./Category:Foo#Bar\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Category:Foo\"},\"sa\":{\"href\":\"Category:{{echo|Foo}}\"},\"dsr\":[0,38,null,null]}'
data-mw='{\"attribs\":[[{\"txt\":\"href\"},{\"html\":\"Category:<span
about=\\\"#mwt1\\\" typeof=\\\"mw:Transclusion\\\"
data-parsoid=\\\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[11,23,null,null]}\\\"
data-mw=\\\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;Foo&quot;}},&quot;i&quot;:0}}]}\\\">Foo</span>\"}],[{\"txt\":\"mw:sortKey\"},{\"html\":\"<span
about=\\\"#mwt2\\\" typeof=\\\"mw:Transclusion\\\"
data-parsoid=\\\"{&quot;pi&quot;:[[{&quot;k&quot;:&quot;1&quot;,&quot;spc&quot;:[&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;&quot;]}]],&quot;dsr&quot;:[24,36,null,null]}\\\"
data-mw=\\\"{&quot;parts&quot;:[{&quot;template&quot;:{&quot;target&quot;:{&quot;wt&quot;:&quot;echo&quot;,&quot;href&quot;:&quot;./Template:Echo&quot;},&quot;params&quot;:{&quot;1&quot;:{&quot;wt&quot;:&quot;Bar&quot;}},&quot;i&quot;:0}}]}\\\">Bar</span>\"}]]}'/>");
+add("wt2html", "Category / paragraph interactions", "<p
data-parsoid='{\"dsr\":[0,24,0,0]}'>Foo <link rel=\"mw:PageProp/Category\"
href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[4,20,null,null]}'/>
Bar</p>\n\n<p data-parsoid='{\"dsr\":[26,50,0,0]}'>Foo <link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[30,46,null,null]}'/>\nBar</p>\n\n<p
data-parsoid='{\"dsr\":[52,76,0,0]}'>Foo\n<link rel=\"mw:PageProp/Category\"
href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[56,72,null,null]}'/>\nBar</p>\n\n<p
data-parsoid='{\"dsr\":[78,102,0,0]}'>Foo\n<link rel=\"mw:PageProp/Category\"
href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[82,98,null,null]}'/>
Bar</p>\n\n<p data-parsoid='{\"dsr\":[104,261,0,0]}'>Foo\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[108,124,null,null]}'/>\n
<link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[126,142,null,null]}'/>\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[143,159,null,null]}'/>\nBar\n\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[165,181,null,null]}'/>\n
<link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[183,199,null,null]}'/>\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[200,216,null,null]}'/>\n\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[218,234,null,null]}'/>\n
<link rel=\"mw:PageProp/Category\" href=\"./Category:Baz\" about=\"#mwt1\"
typeof=\"mw:Transclusion\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[236,261,null,null],\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"[[Category:Baz]]\"}},\"i\":0}}]}'/></p>\n<link
rel=\"mw:PageProp/Category\" href=\"./Category:Baz\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:Baz\"},\"sa\":{\"href\":\"Category:Baz\"},\"dsr\":[262,278,null,null]}'/>");
add("wt2html", "Short headings with trailing space should match behavior of
Parser::doHeadings (bug 19910)", "<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>");
add("wt2html", "Header with space, plus and underscore as entity", "<p
data-parsoid='{\"dsr\":[0,34,0,0]}'>Id should not contain + for
spaces</p>\n\n<h2 data-parsoid='{\"dsr\":[36,60,2,2]}'> Space between Text
</h2>\n<p data-parsoid='{\"dsr\":[61,70,0,0]}'>section 1</p>\n\n<h2
data-parsoid='{\"dsr\":[72,111,2,2]}'> Space-Entity<span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#32;\",\"srcContent\":\"
\",\"dsr\":[87,92,null,null]}'> </span>between<span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#32;\",\"srcContent\":\"
\",\"dsr\":[99,104,null,null]}'> </span>Text </h2>\n<p
data-parsoid='{\"dsr\":[112,121,0,0]}'>section 2</p>\n\n<h2
data-parsoid='{\"dsr\":[123,146,2,2]}'> Plus+between+Text </h2>\n<p
data-parsoid='{\"dsr\":[147,156,0,0]}'>section 3</p>\n\n<h2
data-parsoid='{\"dsr\":[158,196,2,2]}'> Plus-Entity<span typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#43;\",\"srcContent\":\"+\",\"dsr\":[172,177,null,null]}'>+</span>between<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#43;\",\"srcContent\":\"+\",\"dsr\":[184,189,null,null]}'>+</span>Text
</h2>\n<p data-parsoid='{\"dsr\":[197,206,0,0]}'>section 4</p>\n\n<h2
data-parsoid='{\"dsr\":[208,237,2,2]}'> Underscore_between_Text </h2>\n<p
data-parsoid='{\"dsr\":[238,247,0,0]}'>section 5</p>\n\n<h2
data-parsoid='{\"dsr\":[249,293,2,2]}'> Underscore-Entity<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#95;\",\"srcContent\":\"_\",\"dsr\":[269,274,null,null]}'>_</span>between<span
typeof=\"mw:Entity\"
data-parsoid='{\"src\":\"&#95;\",\"srcContent\":\"_\",\"dsr\":[281,286,null,null]}'>_</span>Text
</h2>\n<p data-parsoid='{\"dsr\":[294,303,0,0]}'>section 6</p>\n\n<p
data-parsoid='{\"dsr\":[305,501,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Main%20Page#Space_between_Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Space_between_Text\"},\"sa\":{\"href\":\"#Space
between Text\"},\"dsr\":[305,328,2,2]}'>#Space between Text</a>\n<a
rel=\"mw:WikiLink\" href=\"./Main%20Page#Space-Entity_between_Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Space-Entity_between_Text\"},\"sa\":{\"href\":\"#Space-Entity&#32;between&#32;Text\"},\"dsr\":[329,367,2,2]}'>#Space-Entity
between Text</a>\n<a rel=\"mw:WikiLink\"
href=\"./Main%20Page#Plus+between+Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Plus+between+Text\"},\"sa\":{\"href\":\"#Plus+between+Text\"},\"dsr\":[368,390,2,2]}'>#Plus+between+Text</a>\n<a
rel=\"mw:WikiLink\" href=\"./Main%20Page#Plus-Entity+between+Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Plus-Entity+between+Text\"},\"sa\":{\"href\":\"#Plus-Entity&#43;between&#43;Text\"},\"dsr\":[391,428,2,2]}'>#Plus-Entity+between+Text</a>\n<a
rel=\"mw:WikiLink\" href=\"./Main%20Page#Underscore_between_Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Underscore_between_Text\"},\"sa\":{\"href\":\"#Underscore_between_Text\"},\"dsr\":[429,457,2,2]}'>#Underscore_between_Text</a>\n<a
rel=\"mw:WikiLink\" href=\"./Main%20Page#Underscore-Entity_between_Text\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main%20Page#Underscore-Entity_between_Text\"},\"sa\":{\"href\":\"#Underscore-Entity&#95;between&#95;Text\"},\"dsr\":[458,501,2,2]}'>#Underscore-Entity_between_Text</a></p>");
add("wt2html", "Single-line or multiline-comments can follow headings", "<h2
data-parsoid='{\"dsr\":[0,7,2,2]}'>foo</h2><!---->\n<h2
data-parsoid='{\"dsr\":[15,22,2,2]}'>bar</h2><!--c1-->\n<h2
data-parsoid='{\"dsr\":[32,39,2,2]}'>baz</h2><!--\nc2\nc3-->");
@@ -222,6 +224,7 @@
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\" id=\"mwt1\"
data-parsoid='{\"dsr\":[0,17,null,null],\"pi\":[[]]}'
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"Template:тест\",\"href\":\"./Template:Тест\"},\"params\":{},\"i\":0}}]}'>Warning:
Page/template fetching disabled, and no cache for Template:Тест</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\" id=\"mwt1\"
data-parsoid='{\"dsr\":[0,23,null,null],\"pi\":[[{\"k\":\"param\",\"named\":true,\"spc\":[\"\",\"\",\"\",\"\"]}]]}'
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 category in language variants", "<link
rel=\"mw:PageProp/Category\" href=\"./Категорија:МедиаWики_Усер'с_Гуиде\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Категорија:МедиаWики_Усер'с_Гуиде\"},\"sa\":{\"href\":\"Category:МедиаWики
Усер'с Гуиде\"},\"dsr\":[0,35,null,null]}'/>");
+add("wt2html", "Don't convert blue categorylinks to another variant (bug
33210)", "<p data-parsoid='{\"dsr\":[0,5,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./A\" title=\"A\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./A\"},\"sa\":{\"href\":\"A\"},\"dsr\":[0,5,2,2]}'>A</a></p><link
rel=\"mw:PageProp/Category\" href=\"./Category:分类\"
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Category:分类\"},\"sa\":{\"href\":\"Category:分类\"},\"dsr\":[5,20,null,null]}'/>");
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>");
@@ -313,6 +316,7 @@
add("wt2wt", "Templates: Indent-Pre: 1f: Wrapping should be based on expanded
content", "{{echo| }}a\n\n{{echo|\n }}a\n\n{{echo|\n b}}\n\n{{echo|a\n
}}b\n\n{{echo|a\n}}\n b\n");
add("wt2wt", "Templates: Handle comments in the target", "{{echo\n<!-- should
be ignored -->\n|foo}}\n\n{{echo<!-- should be ignored
-->\n|foo}}\n\n{{echo<!-- should be ignored -->|foo}}\n\n{{echo|foo}}");
add("wt2wt", "4. Indent-Pre and extension tags", " a <gallery>\n
File:foobar.jpg\n </gallery>\n");
+add("wt2wt", "7b. Indent-pre and category links", " [[Category:foo]] a\n
[[Category:foo]] {{echo|b}}\n");
add("wt2wt", "Definition lists: self-closed tag", ";one<br />two : two-line
fun");
add("wt2wt", "Definition Lists: colons occurring in tags",
";a:b\n;'''a:b'''\n;<i>a:b</i>\n;<span>a:b</span>\n;<div>a:b</div>\n;<div>a\n:b\n;{{echo|a:b}}\n;{{echo|''a:b''}}\n;;;''a:b''\n");
add("wt2wt", "BUG 289: \">\"-token in bracketed URL",
"[http://www.example.com/ <hello> stuff]\n");
@@ -351,7 +355,7 @@
add("wt2wt", "Templates: HTML Tag: 2. Generation of HTML attr. value", "<div
style=\"{{echo|'color:red;'}}\">foo</div>");
add("wt2wt", "Templates: HTML Tag: 3. Generation of HTML attr key and value",
"<div {{echo|style}}=\"{{echo|'color:red;'}}\">foo</div>");
add("wt2wt", "Templates: HTML Tag: 9. Multiple template-generated attributes",
"<div {{echo|1=id=\"v1\" title=\"foo\"}} title=\"foo\">bar</div>");
-add("wt2wt", "Templates: HTML Tables: 5. Proper fostering of categories from
inside", "[[Category:foo1]]\n<table><tr><td>foo</td></tr></table>\n<!--Two
categories (Bug
50330)-->\n[[Category:bar1]]\n[[Category:bar2]]\n<table><tr><td>foo</td></tr></table>");
+add("wt2wt", "Templates: HTML Tables: 5. Proper fostering of categories from
inside", "[[Category:foo1]]<table><tr><td>foo</td></tr></table>\n<!--Two
categories (Bug
50330)-->\n[[Category:bar1]][[Category:bar2]]<table><tr><td>foo</td></tr></table>");
add("wt2wt", "Allow empty links in image captions (Bug 60753)",
"[[File:Foobar.jpg|thumb|Caption
[[Link1]]\n<nowiki>[[]]</nowiki>\n[[Link2]]\n]]");
add("wt2wt", "Image with multiple widths -- use last",
"[[File:Foobar.jpg|300px|caption]]\n");
add("wt2wt", "Render invalid page names as plain text (bug 51090)",
"[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n<nowiki>[[foo~~~bar]]</nowiki>\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n\n[[{{echo|./../foo}}|bar]]\n[[{{echo|foo/.}}|bar]]\n[[{{echo|foo/..}}|bar]]\n[[{{echo|foo~~~~bar}}]]\n[[{{echo|foo>bar}}]]\n[[{{echo|foo././bar}}]]\n[[{{echo|foo{bar}}]]\n[[{{echo|foo}bar}}]]\n[[{{echo|foo[bar}}]]\n[[{{echo|foo]bar}}]]\n[[{{echo|foo<bar}}]]\n");
@@ -535,6 +539,7 @@
add("html2html", "Category with identical sort key", "<p
data-parsoid='{\"dsr\":[0,63,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Wiki/Category:MediaWiki_User's_Guide\" title=\"Wiki/Category:MediaWiki
User's Guide\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Category:MediaWiki_User's_Guide\"},\"sa\":{\"href\":\"wiki/Category:MediaWiki
User's Guide\"},\"dsr\":[0,63,39,2]}'>MediaWiki User's Guide</a></p>");
add("html2html", "Category with empty sort key", "<p
data-parsoid='{\"dsr\":[0,75,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,75,8,9]}'>[[Category:MediaWiki User's Guide|MediaWiki
User's Guide]]</span></p>");
add("html2html", "Category with empty sort key and parentheses", "<p
data-parsoid='{\"dsr\":[0,43,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,43,8,9]}'>[[Category:Foo (bar)|Foo]]</span></p>");
+add("html2html", "Category with link tail", "<p
data-parsoid='{\"dsr\":[0,39,0,0]}'>123<span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[3,36,8,9]}'>[[Category:Foo]]</span>456</p>");
add("html2html", "Category with template", "<p
data-parsoid='{\"dsr\":[0,42,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,42,8,9]}'>[[Category:{{echo|Foo}}]]</span></p>");
add("html2html", "Category with template in sort key", "<p
data-parsoid='{\"dsr\":[0,46,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,46,8,9]}'>[[Category:Foo|{{echo|Bar}}]]</span></p>");
add("html2html", "Category with template in sort key and title", "<p
data-parsoid='{\"dsr\":[0,55,0,0]}'><span typeof=\"mw:Nowiki\"
data-parsoid='{\"dsr\":[0,55,8,9]}'>[[Category:{{echo|Foo}}|{{echo|Bar}}]]</span></p>");
@@ -608,6 +613,7 @@
add("html2html", "Link to pages in language variants", "<p
data-parsoid='{\"dsr\":[0,56,0,0]}'>Main Page can be written as <a
rel=\"mw:WikiLink\" href=\"./Wiki/Main_Page\" title=\"Wiki/Main Page\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Main_Page\"},\"sa\":{\"href\":\"wiki/Main
Page\"},\"dsr\":[28,56,17,2]}'>Маин Паге</a></p>\n");
add("html2html", "Multiple links to pages in language variants", "<p
data-parsoid='{\"dsr\":[0,113,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Wiki/Main_Page\" title=\"Wiki/Main Page\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Main_Page\"},\"sa\":{\"href\":\"wiki/Main
Page\"},\"dsr\":[0,28,17,2]}'>Main Page</a> can be written as <a
rel=\"mw:WikiLink\" href=\"./Wiki/Main_Page\" title=\"Wiki/Main Page\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Main_Page\"},\"sa\":{\"href\":\"wiki/Main
Page\"},\"dsr\":[47,75,17,2]}'>Маин Паге</a> same as <a rel=\"mw:WikiLink\"
href=\"./Wiki/Main_Page\" title=\"Wiki/Main Page\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Main_Page\"},\"sa\":{\"href\":\"wiki/Main
Page\"},\"dsr\":[84,112,17,2]}'>Маин Паге</a>.</p>\n");
add("html2html", "Simple category in language variants", "<p
data-parsoid='{\"dsr\":[0,65,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Wiki/Категорија:MediaWiki_User's_Guide\"
title=\"Wiki/Категорија:MediaWiki User's Guide\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Категорија:MediaWiki_User's_Guide\"},\"sa\":{\"href\":\"wiki/Категорија:MediaWiki
User's Guide\"},\"dsr\":[0,65,41,2]}'>MediaWiki User's Guide</a></p>");
+add("html2html", "Don't convert blue categorylinks to another variant (bug
33210)", "<p data-parsoid='{\"dsr\":[0,23,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Wiki/Category:分类\" title=\"Wiki/Category:分类\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Category:分类\"},\"sa\":{\"href\":\"wiki/Category:分类\"},\"dsr\":[0,23,19,2]}'>分类</a></p>");
add("html2html", "Prevent conversion of links with -{}- tags (language
variants)", "<p data-parsoid='{\"dsr\":[0,28,0,0]}'><a rel=\"mw:WikiLink\"
href=\"./Wiki/Main_Page\" title=\"Wiki/Main Page\"
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Main_Page\"},\"sa\":{\"href\":\"wiki/Main
Page\"},\"dsr\":[0,28,17,2]}'>Main Page</a></p>\n");
add("html2html", "Adding explicit conversion rule for title (T flag)", "<p
data-parsoid='{\"dsr\":[0,6,0,0]}'>Taiwan</p>\n\n<p
data-parsoid='{\"dsr\":[8,27,0,0]}'>Should be stripped!</p>\n");
add("html2html", "Testing that changing the language variant here in the tests
actually works", "<p data-parsoid='{\"dsr\":[0,5,0,0]}'>China</p>\n\n<p
data-parsoid='{\"dsr\":[7,26,0,0]}'>Should be stripped!</p>\n");
@@ -991,6 +997,7 @@
add("html2wt", "Bug 6563: Edit link generation for section suppressed by
<includeonly>", "== Section 1 ==\n");
add("html2wt", "Bug 6563: Section extraction for section suppressed by
<includeonly>", "<nowiki>==Section 1==</nowiki>");
add("html2wt", "Un-closed <includeonly>", "");
+add("html2wt", "Includes and comments at SOL", "<!-- comment
--><noinclude><!-- comment --></noinclude><!-- comment -->\n\n== hu
==\n\n<noinclude>\nsome\n</noinclude>\n* stuff\n* here\n\n<includeonly>can have
stuff</includeonly>\n\n=== here ===\n");
add("html2wt", "0. includeonly around the entire attribute", "<span
id=\"v2\">bar</span>\n");
add("html2wt", "1. includeonly in html attr key", "<span
id=\"foo\">bar</span>\n");
add("html2wt", "2. includeonly in html attr value", "<span
id=\"v1\">bar</span>\n<span id=\"v1\">bar</span>\n");
@@ -1087,9 +1094,11 @@
add("html2wt", "Category with identical sort key", "[[wiki/Category:MediaWiki
User's Guide|MediaWiki User's Guide]]");
add("html2wt", "Category with empty sort key", "<nowiki>[[Category:MediaWiki
User's Guide|MediaWiki User's Guide]]</nowiki>");
add("html2wt", "Category with empty sort key and parentheses",
"<nowiki>[[Category:Foo (bar)|Foo]]</nowiki>");
+add("html2wt", "Category with link tail",
"123<nowiki>[[Category:Foo]]</nowiki>456");
add("html2wt", "Category with template",
"<nowiki>[[Category:{{echo|Foo}}]]</nowiki>");
add("html2wt", "Category with template in sort key",
"<nowiki>[[Category:Foo|{{echo|Bar}}]]</nowiki>");
add("html2wt", "Category with template in sort key and title",
"<nowiki>[[Category:{{echo|Foo}}|{{echo|Bar}}]]</nowiki>");
+add("html2wt", "Category / paragraph interactions", "Foo
Bar\n\nFoo\nBar\n\nFoo\nBar\n\nFoo Bar\n\nFoo\nBar\n");
add("html2wt", "Basic section headings", "== Headline 1 ==\nSome text\n\n==
Headline 2 ==\nMore\n\n=== Smaller headline ===\nBlah blah\n");
add("html2wt", "Section headings with TOC", "<div id=\"toc\"
class=\"toc\"><div id=\"toctitle\">\n== Contents ==\n</div>\n\n*
[[#Headline_1|<span class=\"tocnumber\">1</span> <span
class=\"toctext\">Headline 1</span>]]\n\n** [[#Subheadline_1|<span
class=\"tocnumber\">1.1</span> <span class=\"toctext\">Subheadline
1</span>]]\n\n*** [[#Skipping_a_level|<span class=\"tocnumber\">1.1.1</span>
<span class=\"toctext\">Skipping a level</span>]]\n\n****
[[#Skipping_a_level_2|<span class=\"tocnumber\">1.1.1.1</span> <span
class=\"toctext\">Skipping a level</span>]]\n* [[#Headline_2|<span
class=\"tocnumber\">2</span> <span class=\"toctext\">Headline 2</span>]]\n\n**
[[#Another_headline|<span class=\"tocnumber\">2.1</span> <span
class=\"toctext\">Another headline</span>]]\n\n</div>\n\n== Headline 1
==\n\n=== Subheadline 1 ===\n\n===== Skipping a level =====\n\n====== Skipping
a level ======\n\n== Headline 2 ==\nSome text\n\n=== Another headline ===\n");
add("html2wt", "Handling of sections up to level 6 and beyond", "<div
id=\"toc\" class=\"toc\"><div id=\"toctitle\">\n== Contents ==\n</div>\n\n*
[[#Level_1_Heading|<span class=\"tocnumber\">1</span> <span
class=\"toctext\">Level 1 Heading</span>]]\n\n** [[#Level_2_Heading|<span
class=\"tocnumber\">1.1</span> <span class=\"toctext\">Level 2
Heading</span>]]\n\n*** [[#Level_3_Heading|<span
class=\"tocnumber\">1.1.1</span> <span class=\"toctext\">Level 3
Heading</span>]]\n\n**** [[#Level_4_Heading|<span
class=\"tocnumber\">1.1.1.1</span> <span class=\"toctext\">Level 4
Heading</span>]]\n\n***** [[#Level_5_Heading|<span
class=\"tocnumber\">1.1.1.1.1</span> <span class=\"toctext\">Level 5
Heading</span>]]\n\n****** [[#Level_6_Heading|<span
class=\"tocnumber\">1.1.1.1.1.1</span> <span class=\"toctext\">Level 6
Heading</span>]]\n****** [[#.3D_Level_7_Heading.3D|<span
class=\"tocnumber\">1.1.1.1.1.2</span> <span class=\"toctext\">= Level 7
Heading=</span>]]\n****** [[#.3D.3D_Level_8_Heading.3D.3D|<span
class=\"tocnumber\">1.1.1.1.1.3</span> <span class=\"toctext\">== Level 8
Heading==</span>]]\n****** [[#.3D.3D.3D_Level_9_Heading.3D.3D.3D|<span
class=\"tocnumber\">1.1.1.1.1.4</span> <span class=\"toctext\">=== Level 9
Heading===</span>]]\n****** [[#.3D.3D.3D.3D_Level_10_Heading.3D.3D.3D.3D|<span
class=\"tocnumber\">1.1.1.1.1.5</span> <span class=\"toctext\">==== Level 10
Heading====</span>]]\n\n</div>\n\n= Level 1 Heading =\n\n== Level 2 Heading
==\n\n=== Level 3 Heading ===\n\n==== Level 4 Heading ====\n\n===== Level 5
Heading =====\n\n====== Level 6 Heading ======\n\n====== = Level 7 Heading=
======\n\n====== == Level 8 Heading== ======\n\n====== === Level 9 Heading===
======\n\n====== ==== Level 10 Heading==== ======\n");
@@ -1242,6 +1251,7 @@
add("html2wt", "Template with explicit namespace in language variants", "This
is a test template\n");
add("html2wt", "Basic test for template parameter in language variants", "This
is a test template with parameter foo\n");
add("html2wt", "Simple category in language variants",
"[[wiki/Категорија:MediaWiki User's Guide|MediaWiki User's Guide]]");
+add("html2wt", "Don't convert blue categorylinks to another variant (bug
33210)", "[[wiki/Category:分类|分类]]");
add("html2wt", "Stripping -{}- tags (language variants)", "Latin proverb: Ne
nuntium necare\n");
add("html2wt", "Prevent conversion with -{}- tags (language variants)",
"Латински: Ne nuntium necare\n");
add("html2wt", "Prevent conversion of text with -{}- tags (language
variants)", "Латински: Ne nuntium necare\n");
@@ -1467,6 +1477,7 @@
add("selser", "5a. White-space in indent-pre [[2,0,4]]", " d3ppdqvqzdxi529a<br
/>\n 82567nb6q9hbmx6r");
add("selser", "5a. White-space in indent-pre [[2,0,0]]", " 9blj98gpz0py14ia<br
/>\n \n \n b");
add("selser", "5a. White-space in indent-pre [[0,2,0]]", "
am3m3vd8oxzu84cxr<br />\n \n \n b");
+add("selser", "7b. Indent-pre and category links [2]", "yml0m6jz2j32qpvi\n
[[Category:foo]] a\n [[Category:foo]] {{echo|b}}");
add("selser", "Definition lists: self-closed tag [2]",
"x14l42v2vh392j4i\n;one<br/>two : two-line fun");
add("selser", "Definition lists: self-closed tag [1]", ";one<br/>two :
two-line fun");
add("selser", "Definition lists: self-closed tag [[[4,2,4,0],[2]]]",
";hfmudey4je6u5wmi18aco6b1yahy3nmi<br/>199ekjza5e7phkt9 :b3ubf9dln2x7ds4i
two-line fun");
@@ -1808,26 +1819,26 @@
add("selser", "1. Table tag in SOL posn. should get reparsed correctly with
valid TSR [0,[0,[4,0]]]", "{{echo|}}{| width =
'100%'\n<!--u3at1qt3epfd2t9-->\n|}");
add("selser", "1. Table tag in SOL posn. should get reparsed correctly with
valid TSR [0,[3,[1,0]]]", "{{echo|}}{| width = '100%'\n|foo\n|}");
add("selser", "1. Table tag in SOL posn. should get reparsed correctly with
valid TSR [0,[0,[[1],4]]]", "{{echo|}}{| width = '100%'\n|
data-foobar=\"pnyys77mkaxrms4i\" |foo<!--kok37wstwgbvs4i-->\n|}");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,4,3,3,0,0,3,1]", "\n00y7omltvljfko6r\n\n<table
data-foobar=\"jmfnmukwsfko6r\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,4,3,3,0,0,3,1]", "\n00y7omltvljfko6r\n<table
data-foobar=\"jmfnmukwsfko6r\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,[3],0,0,3,0,4,2]", "<table></table>\n<!--Two categories (Bug
50330)-->\naa9zlufnr5nlv7vi\n\nq2pyl7rcb4e4gqfr<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [4,1,3,2,2,2,0,2]", "ixen0t4bgr8xs9k9<table
data-foobar=\"srvdo6x0y0bb7qfr\"><tr><td>foo</td></tr></table>uzdg6q9o13xcrf6r<!--Two
categories (Bug
50330)-->4qtzlqvafwyaatt9\nxof76nvw8xmkj4i\n\nmjznl60h5moenrk9<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [4,1,3,2,2,2,0,2]", "ixen0t4bgr8xs9k9<table
data-foobar=\"srvdo6x0y0bb7qfr\"><tr><td>foo</td></tr></table>uzdg6q9o13xcrf6r<!--Two
categories (Bug
50330)-->4qtzlqvafwyaatt9\nxof76nvw8xmkj4i\nmjznl60h5moenrk9<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,4,2,4,2,1,0,1]",
"\nfvxtgp3ng3c8fr\n\nndpvbu6qrq2awcdi\n\nxvl7qedcdte29\n\nut1kj4t41ud6lxr\n[[Category:bar1]]<table
data-foobar=\"bl3hi9ypv5d34n29\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [3,[[3]],3,2,0,4,0,4]", "<table></table>ix0vd82hs81fko6r<!--Two
categories (Bug 50330)-->\nk15lw873lct2zkt9\n\n3jhgi813c6av2t9\n");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [3,[[3]],3,2,0,4,0,4]", "<table></table>ix0vd82hs81fko6r<!--Two
categories (Bug 50330)-->\nk15lw873lct2zkt9\n3jhgi813c6av2t9\n");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [1,3,0,4,0,0,0,[[[[3]]]]]",
"[[Category:foo1]]\n6jn116sfnaozjjor\n<table><tr><td></td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [3,2,3,2,2,0,0,[[[[2]]]]]",
"isfe9nts88woecdi<table>[[Category:foo1]]<tr><td>foo</td></tr></table>qvw89yxvkoab57b9<!--Two
categories (Bug
50330)-->u9lqrotjvqb0529\n<table><tr><td>gsvn66t5or5p14ifoo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [1,2,0,0,4,0,0,1]",
"[[Category:foo1]]\n19pn73ihhorms4i<table>[[Category:foo1]]<tr><td>foo</td></tr></table>\n<!--Two
categories (Bug 50330)-->uqp2nnbb6ueg66r\n<table
data-foobar=\"dzahg5avpeyu8fr\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [1,2,0,0,4,0,0,1]",
"[[Category:foo1]]\n19pn73ihhorms4i<table>[[Category:foo1]]<tr><td>foo</td></tr></table>\n<!--Two
categories (Bug 50330)-->uqp2nnbb6ueg66r<table
data-foobar=\"dzahg5avpeyu8fr\">[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,1,4,0,0,0,1,[1]]", "<table
data-foobar=\"0zy0k38eyyv0wwmi\">[[Category:foo1]]<tr><td>foo</td></tr></table>13pnkfecgawwb3xr<!--Two
categories (Bug
50330)-->\n[[Category:bar2]]<table><tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [4,3,0,2,2,0,0,[2]]", "m9y118hycf6iggb9\n\nxvms1aht5ut0529<!--Two
categories (Bug
50330)-->\n\nj909rng3dfopf1or\n<table><!--ndktasffvlcba9k9-->[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [2,3,4,2,3,0,0,0]",
"pus64uq6ej4z33di\n\ng560va5z5cw0cnmi\n\nyykoaqbw7kbro1or<!--Two categories
(Bug
50330)-->\n<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [2,3,4,2,3,0,0,0]",
"pus64uq6ej4z33di\ng560va5z5cw0cnmi\n\nyykoaqbw7kbro1or<!--Two categories (Bug
50330)--><table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [4,1,0,2,0,0,3,2]", "jeue60f2n8eel8fr<table
data-foobar=\"uib4z52061hmpldi\"><tr><td>foo</td></tr></table>\numehhf7e7cbfyldi<!--Two
categories (Bug
50330)-->\n\n0v6iqx906hv3g14i<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,3,2,4,3,3,0,4]",
"\nhdu8b5un73rw9udi\n\naxxk36cxrg0newmi\n\nl6db7w99encm1jor\n");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,2,4,4,4,4,2,0]",
"\n3p6ds2cdy5geqaor<table>[[Category:foo1]]<tr><td>foo</td></tr></table>nf31cc8xo4leg66r\n\nirxbftzactprpb9\n\ndd21qg54ruw0cnmi\n\nv7gjnsdqspnqxgvi\n\nzg2izvkgtlu15rk9\n<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,3,2,0,2,4,0,2]", "\n5hat330odnmw8kt9\n<!--Two categories (Bug
50330)-->\n6ssl3a5gpeqaor\n\novgd20ux77722o6r\n\nkjuzhgsj82blz0k9<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [2,3,2,2,0,0,0,[[4]]]",
"pr6u7tvu4zccjtt9\n\nbzwx5yz7n0y0hpvi\n\nsqg8knvzd26gvi<!--Two categories (Bug
50330)-->\n<table><!--igfmiz8r7rykfbt9--></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,3,2,4,3,3,0,4]",
"\nhdu8b5un73rw9udi\n\naxxk36cxrg0newmi\nl6db7w99encm1jor\n");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,2,4,4,4,4,2,0]",
"\n3p6ds2cdy5geqaor<table>[[Category:foo1]]<tr><td>foo</td></tr></table>nf31cc8xo4leg66r\n\nirxbftzactprpb9\n\ndd21qg54ruw0cnmi\n\nv7gjnsdqspnqxgvi\n\nzg2izvkgtlu15rk9<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,3,2,0,2,4,0,2]", "\n5hat330odnmw8kt9\n<!--Two categories (Bug
50330)-->\n6ssl3a5gpeqaor\n\novgd20ux77722o6r\nkjuzhgsj82blz0k9<table>[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [2,3,2,2,0,0,0,[[4]]]",
"pr6u7tvu4zccjtt9\nbzwx5yz7n0y0hpvi\n\nsqg8knvzd26gvi<!--Two categories (Bug
50330)-->\n<table><!--igfmiz8r7rykfbt9--></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,1,4,0,0,0,1,[2]]", "<table
data-foobar=\"16hnpb0od17l23xr\">[[Category:foo1]]<tr><td>foo</td></tr></table>p0tte61pcmh7iudi<!--Two
categories (Bug
50330)-->\n[[Category:bar2]]<table><!--8rm0h9nhoqkc5wmi-->[[Category:bar1]][[Category:bar2]]<tr><td>foo</td></tr></table>");
add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,[2],0,2,2,0,0,[1]]",
"<table><!--c0u2c9uer91cerk9-->[[Category:foo1]]<tr><td>foo</td></tr></table>\n8hyzimw3d00vbo6r<!--Two
categories (Bug
50330)-->\n\n12c9zldofglj714i\n<table><tr><td>foo</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,[[3]],2,0,0,4,0,[[[4]]]]", "<table></table>frdce0reto2h85mi\n<!--Two
categories (Bug
50330)-->\n3lz5b6rsfydjkyb9\n<table><tr><td>6xqvzsggdh392j4i</td></tr></table>");
-add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,4,4,0,0,3,2,[3]]", "\n4izrbq79n79442t9\n\nnmwv8fylt48fflxr<!--Two
categories (Bug 50330)-->\n\nzjdiwp9jubejc3di\n<table></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,[[3]],2,0,0,4,0,[[[4]]]]", "<table></table>frdce0reto2h85mi\n<!--Two
categories (Bug
50330)-->\n3lz5b6rsfydjkyb9<table><tr><td>6xqvzsggdh392j4i</td></tr></table>");
+add("selser", "Templates: HTML Tables: 5. Proper fostering of categories from
inside [0,4,4,0,0,3,2,[3]]", "\n4izrbq79n79442t9\n\nnmwv8fylt48fflxr<!--Two
categories (Bug 50330)-->\n\nzjdiwp9jubejc3di<table></table>");
add("selser", "Image with multiple widths -- use last [2]",
"tyg28ph5bf5el8fr\n\n[[File:Foobar.jpg|200px|300px|caption]]");
add("selser", "Image with multiple widths -- use last [1]",
"[[File:Foobar.jpg|200px|300px|caption]]");
add("selser", "Image with width attribute at different positions
[0,2,[0,1],3,0]",
"[[File:Foobar.jpg|200px|right|Caption]]xmu7d955jxmndn29\n[[File:Foobar.jpg|right|200px|Caption]]\n[[File:Foobar.jpg|right|Caption|200px]]");
@@ -1844,6 +1855,8 @@
add("selser", "Render invalid page names as plain text (bug 51090) [2,4,3]",
"x280lbt0x9smunmi\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n\n9zekc2ruir0h33di\n");
add("selser", "Render invalid page names as plain text (bug 51090) [2,0,3]",
"uy7lbslcu8mvaemi\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n");
add("selser", "Render invalid page names as plain text (bug 51090)
[2,0,[2,0,0,0,4,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,3,0,2]]",
"ixtw0uq17iqtcsor\n\n[[./../foo|bar]]\n[[foo�|bar]]\n[[foo/.|bar]]\n[[foo/..|bar]]\n[[foo~~~bar]]\n[[foo>bar]]\n[[foo[bar]]\n[[.]]\n[[..]]\n[[foo././bar]]\n\ncjgyt6cnj124kj4i[[{{echo|./../foo}}|bar]]\n[[{{echo|foo/.}}4i3f1qev8b5u3di{{echo|foo/..}}t26yvjmagszl4n29{{echo|foo~~~~bar}}]]\n[[{{echo|foo>bar}}3vx6jfw5gbvs4i{{echo|foo././bar}}]]\n[[{{echo|foo{bar}}]]\n[[{{echo|foo}bar}}]]\n[[{{echo|foo[bar}}]]\n[[{{echo|foo]bar}}{{echo|foo<bar}}<nowiki>3vz7g6pd5lzhncdi]]</nowiki>");
+add("selser", "Category / paragraph interactions [3,2,1,3,0,4,1,2,1,3,0]",
"x7ixp2jr6ir4quxr\n\nFoo
[[Category:Baz]]\nBar\n\nFoo\n[[Category:Baz]]\nBar\n\nwvsxizohr6hia4i\n\nFoo\n[[Category:Baz]]
Bar\n\nykmlq9svazzd7vi\n\nFoo\n[[Category:Baz]]\n
[[Category:Baz]]\n[[Category:Baz]]\nBar\n\n[[Category:Baz]]\n
[[Category:Baz]]\n[[Category:Baz]]\n\n[[Category:Baz]]\n
{{echo|[[Category:Baz]]}}\n[[Category:Baz]]");
+add("selser", "4. Categories and newlines: newline suppression for last list
item should RT properly [1,3,0]", "* a\n**** b[[Category:Foo]]");
add("selser", "Section headings with TOC [3,4,0,0,3,2,[3],3,0,4,3,3,0]",
"px8b3ng5n4lpu8fr\n\n=== Subheadline 1
===\np64mngpetwfm9529\n\n======<nowiki/>======\n\n== Headline 2
==\nzvfwz386e7xbhuxr\n\n===Another headline===");
add("selser", "Handling of sections up to level 6 and beyond
[1,2,1,2,1,0,[3],2,2,4,[2],4,0,0,1,0,0,3,1]", "= Level 1
Heading=\n7e043zzvvtzf47vi\n\n== Level 2 Heading==\n0pp0pcwrmkakyb9\n\n===
Level 3
Heading===\n====<nowiki/>====\n253vnq49otg9zfr\nmncpvxste96vquxr\n\n===== Level
5 Heading=====\n91qmbb1e2vlpu8fr\n\n======ohqkkrlkoqi79zfr Level 6
Heading======\n6hv8gbhdqngn9udi\n\n======= Level 7
Heading=======\n======<nowiki>== Level 8 Heading==</nowiki>======\n=========
Level 9 Heading=========\n======<nowiki>==== Level 10
Heading====</nowiki>======");
add("selser", "Handling of sections up to level 6 and beyond
[1,0,1,0,0,3,2,3,0,0,4,0,[4],0,1,0,0,4,0]", "= Level 1 Heading=\n== Level 2
Heading==\n=== Level 3 Heading===\n6fs6ykhv45nrk9\n\n==== Level 4
Heading====\n===== Level 5
Heading=====\njkvm1xjd1mw2vs4i\n\n======lrcthal0ujwnrk9======\n======<nowiki>==
Level 8 Heading==</nowiki>======\n========= Level 9
Heading=========\n6uicqh73ey5bfbt9\n\n========== Level 10 Heading==========");
@@ -1864,6 +1877,7 @@
add("selser", "Header with special characters (bug 25462)
[1,2,2,0,3,4,0,4,[2],3,0,0,1,0,[3],0,0,2,4,0,1]", "The tooltips shall not show
entities to the user (ie. be double
escaped)\n\n8z7x1wcux3v26gvi\n\ns1o423l9ajg7gb9\n\n== text > text
==\n2whgc18x6v3d6lxr\n\n== text < text
==\nt5l87q61pf0z4cxr\n\n92ysy522qy28d7visection 2\n\n== text & text ==\nsection
3\n\n==<nowiki/>==\nsection
4\n\nozk2j78opgajdcxr\n\nw7mpykjqlaowp14i\n\nsection 5");
add("selser", "Header with space, plus and underscore as entity
[0,2,2,0,0,0,0,0,[4],0,4,4,1,0,[2,0,2,0,0],3,[3],2,4,4,1,0,3,0,3,4,[2,0,3,0,[3],0,2,0,[2],2,3]]",
"Id should not contain + for
spaces\n\n1s8n9ebujmoyldi\n\nx2dm134ehi2akyb9\n\n== Space between Text
==\nsection 1\n\n== Space-Entity between Text
==\nctsg93fg7nfjemi\n\nfii5im4snhyyzaor\n\ntr1uqz2py5koi529\n\nsection
3\n\n==mdub6jo1drcqh0k9 Plus-Entitycp7nt180xjxuhaorbetweenText
==\n\n93x8kyc14qpycik9\n\nmy6t4zb9wnq4zpvi\n\nfsqir1dx869a4i\n\nsection
5\n\ncnlyy146abofajor\n\nxv9ysrtv3ni885mi[[#Space between
Text]]\n\n[[#Plus+between+Text|<nowiki/>]]\n8xc1shdmq3pfzuxr[[#Plus-Entity+between+Text]]\n[[#Underscore_between_Text|3v175tm601nstt9#Underscore_between_Text]]1y56jaqn4d6ajor\n");
add("selser", "Header with space, plus and underscore as entity
[0,0,0,0,[4],4,4,0,[3],4,2,0,2,2,[0,0,0,0,4],3,[4],3,0,3,2,0,3,0,0,3,[3,0,0,0,[3],4,2,0,4,0,0]]",
"Id should not contain + for spaces\n\n== Space between Text
==\n8xyfc0i8t2h2gldi\n\nzb4aaqq1s96q1tt9\n\n15bmoldrhl2i6bt9\n\ncfupe02lilhumcxr\n\n6a9prcw3fzcfecdi\n\n==
Plus+between+Text ==\n2gbrll83w49m5cdi\n\nsection 3\n\nc17wpd542d1xxbt9\n\n==
Plus-Entity+between+8yfotmkftysc3di==\ndrq2cqynku0rizfr\n\n==
Underscore_between_Text ==\ngp6czug4zgfx0f6r\n\nsection 5\n\nsection
6\n\n[[#Space-Entity between Text]]\n[[#Plus+between+Text|<nowiki/>]]<nowiki/>agpzebxg8xvtpgb9fopm0ncoqgf7ds4i[[#Plus-Entity+between+Text]]\nh7rvv79vf6qadcxr\n[[#Underscore-Entity_between_Text]]");
+add("selser", "HTML headers vs TOC (bug 23393)\n(__NOEDITSECTION__ for clearer
output, doesn't matter here) [2,0,0,2,[2],4,3,0,4,0,[3],3,0]",
"kaoj7bu25l0ltyb9<h1>Header 1</h1>\n== Header 1.1
==\ne5g847xtle6x0f6r\n\n==3mr50w0hhtkmlsor Header 1.2
==\npt2id6sh7rdx6r\n61937q06gu95dn29\n\n==<nowiki/>==\n__NOEDITSECTION__");
add("selser", "Single-line or multiline-comments can follow headings
[2,4,3,1,0,4,[2],3]",
"u9j9ywtzcjbawcdi\n\n==foo==\ndrrd423rrk1vpldi\n\n==bar==<!--c1-->\nz66d0aderf9lik9\n\n==nxo7we9vvk70t3xrbaz==<!--\nc2\nc3-->");
add("selser", "div with single-quoted attribute [2]", "qu686umowmw8kt9<div
id='rock'>HTML rocks</div>");
add("selser", "div with single-quoted attribute [[4]]", "<div
id='rock'>i9n8e3v5czxb6gvi</div>");
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index ea86169..f3fe806 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -14,7 +14,6 @@
# Plus any combination of these:
#
# cat add category links
-# (ignored by Parsoid, since it emits <link>s)
# ill add inter-language links
# (ignored by Parsoid, since it emits <link>s)
# subpage enable subpages (disabled by default)
@@ -3330,18 +3329,14 @@
<span about="#mwt1" typeof="mw:Transclusion"
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"
[[Category:foo]]"}},"i":0}}]}'> </span><link rel="mw:PageProp/Category"
href="./Category:Foo" about="#mwt1"> <!-- No pre-wrapping -->
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
!! test
7b. Indent-pre and category links
!! options
-parsoid=wt2html
+parsoid=wt2html,wt2wt
!! wikitext
[[Category:foo]] a
[[Category:foo]] {{echo|b}}
-!! html/parsoid
+!! html
<pre><link rel="mw:PageProp/Category" href="./Category:Foo"> a
<link rel="mw:PageProp/Category" href="./Category:Foo"> <span about="#mwt1"
typeof="mw:Transclusion"
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"b"}},"i":0}}]}'>b</span></pre>
!! end
@@ -10865,14 +10860,8 @@
!! html
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize the include directives to serialize on their own line.
-## Selser will take care of preserving formatting in scenarios where they
-## intermingled with other wikitext.
!! test
Includes and comments at SOL
-!! options
-parsoid=wt2html,html2html
!! wikitext
<!-- comment --><noinclude><!-- comment --></noinclude><!-- comment -->== hu ==
@@ -11053,14 +11042,10 @@
</tbody></table>
!!end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize the include directives to serialize on their own line.
-## Selser will take care of preserving formatting in scenarios where they
-## intermingled with other wikitext.
!!test
2. Table tag in SOL posn. should get reparsed correctly with valid TSR
!!options
-parsoid=wt2html
+parsoid=wt2html,wt2wt
!!wikitext
<includeonly>a</includeonly>{| {{{b}}}
|c
@@ -14275,22 +14260,15 @@
[[Category:Foo (bar)|Foo]]
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
!! test
Category with link tail
!! options
cat
pst
-parsoid=wt2html
!! wikitext
123[[Category:Foo]]456
-!! html/php
+!! html
123[[Category:Foo]]456
-!! html/parsoid
-<p>123<link rel="mw:PageProp/Category" href="Category:Foo"/>456</p>
!! end
!! test
@@ -14326,14 +14304,8 @@
[[Category:{{echo|Foo}}|{{echo|Bar}}]]
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
!! test
Category / paragraph interactions
-!! options
-parsoid=wt2html
!! wikitext
Foo [[Category:Baz]] Bar
@@ -14360,7 +14332,7 @@
[[Category:Baz]]
{{echo|[[Category:Baz]]}}
[[Category:Baz]]
-!! html/php
+!! html
<p>Foo Bar
</p><p>Foo
Bar
@@ -14370,32 +14342,20 @@
</p><p>Foo
Bar
</p>
-!! html/parsoid
-<p>Foo <link rel="mw:PageProp/Category" href="Category:Baz"/> Bar</p>
-<p>Foo <link rel="mw:PageProp/Category" href="Category:Baz"/> Bar</p>
-<p>Foo <link rel="mw:PageProp/Category" href="Category:Baz"/> Bar</p>
-<p>Foo <link rel="mw:PageProp/Category" href="Category:Baz"/> Bar</p>
-<p>Foo <link rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz"/> Bar <link
rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz"/> <link
rel="mw:PageProp/Category" href="Category:Baz" typeof="mw:Transclusion"
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"[[Category:Baz]]"}},"i":0}}]}'/></p>
-<link rel="mw:PageProp/Category" href="Category:Baz"/>
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
-##
## The whitespace on the empty line is part of the test. Please do not delete
!! test
1. Categories and newlines: All preceding newlines should be suppressed
(courtesy bug 87)
!! options
-parsoid=wt2html
+parsoid=wt2html,wt2wt
!! wikitext
This
[[Category:Foo]] and this should be part of same paragraph (not an indent-pre)
{{echo|[[Category:Foo]] and so should this!}}
-!! html/php
+!! html
<p>This and this should be part of same paragraph (not an indent-pre) and so
should this!
</p>
!! html/parsoid
@@ -14493,14 +14453,8 @@
<link rel="mw:PageProp/Category" href="./Category:Foo"
data-parsoid='{"stx":"simple","a":{"href":"./Category:Foo"},"sa":{"href":"Category:Foo"}}'/>
!! end
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
!! test
6. Categories and newlines: migrateTrailingCategories dom pass should not
migrate categories not preceded by newlines
-!! options
-parsoid=wt2html
!! wikitext
* a [[Category:Foo]]
!! html/parsoid
@@ -14551,20 +14505,13 @@
</p>
!! end
-# We used to, but no longer wt2wt this test since the default serializer
-# will normalize all categories to serialize on their own line.
-# This wikitext usage is going to be fairly uncommon in production and
-# selser will take care of preventing whitespace insertion if this
-# occurs in an article.
-#
-# html2html disabled for the same reason (whitespace insertion between
-# x and y).
-#
-# html2wt disabled because it localizes the "Category" namespace.
+# html2wt localizes the "Category" namespace.
+# XXX the <link> element needs an empty data-parsoid attribute, or
+# else the html2html test fails because spaces are inserted.
!! test
Link prefix/suffixes aren't applied to category links
!! options
-parsoid=wt2html
+parsoid=wt2html,wt2wt,html2html
language=is
!! wikitext
x[[Category:Foo]]y
@@ -19264,24 +19211,16 @@
blah
!! endarticle
-## We used to, but no longer wt2wt this test since the default serializer
-## will normalize all categories to serialize on their own line.
-## This wikitext usage is going to be fairly uncommon in production and
-## selser will take care of preserving formatting in those scenarios.
!! test
Don't convert blue categorylinks to another variant (bug 33210)
!! options
-cat
-language=zh
-parsoid=wt2html
+language=zh cat
!! wikitext
[[A]][[Category:分类]]
-!! html/php
+!! html
<a href="/wiki/Category:%E5%88%86%E7%B1%BB" title="Category:分类">分类</a>
-!! html/parsoid
-<p><a rel="mw:WikiLink" href="A" title="A">A</a></p>
-<link rel="mw:PageProp/Category" href="Category:分类"/>
!! end
+
!! test
Stripping -{}- tags (language variants)
@@ -23626,8 +23565,7 @@
__TOC__ foo
-__TOC__
- bar
+__TOC__ bar
!! end
#### --------------- HTML tags ---------------
@@ -24937,7 +24875,7 @@
!! html/parsoid
<h2><span about="#mwt1" typeof="mw:Transclusion" data-parsoid="{}"
data-mw='{"parts":[{"template":{"target":{"wt":"echo","href":"./Template:Echo"},"params":{"1":{"wt":"foo
[[Category:Foo]]"}},"i":0}}]}'>foo </span><link rel="mw:PageProp/Category"
href="./Category:Foo" about="#mwt1" data-parsoid="{}" /></h2>
!! wikitext
-== {{echo|foo [[Category:Foo]]}} ==
+== {{echo|foo [[Category:Foo]]}} ==
!! end
!! test
--
To view, visit https://gerrit.wikimedia.org/r/248946
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib7f60c79fee50d349becd1006313a91888342d06
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: Arlolra <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits