jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/334171 )

Change subject: Sync parserTests with core.
......................................................................


Sync parserTests with core.

New failing parser tests, added to blacklist:
* T156308: We don't properly strip whitespace around interlanguage links.
* T156309: We don't support {{PAGELANGUAGE}}.  (We actually need to have
  the page language available for LanguageConverter.)
* T43716: LanguageConverter syntax in attributes.

There were also two changes to the html2html stored in the blacklist,
caused by a change in the localized name of the image thumbnail attribute.
This is a side-effect of Id36550e864acf0df472b6a6a12f750eb28cbdd1d.

Change-Id: I09b794af5a8eb83b99f90f128f1c67efabec8576
---
M tests/parserTests-blacklist.js
M tests/parserTests.txt
M tools/fetch-parserTests.txt.js
3 files changed, 74 insertions(+), 7 deletions(-)

Approvals:
  jenkins-bot: Verified
  Arlolra: Looks good to me, approved



diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 29310ae..b9eb71f 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -58,6 +58,7 @@
 add("wt2html", "Self-link to numeric title", "<p 
data-parsoid='{\"dsr\":[0,5,0,0]}'><a rel=\"mw:WikiLink\" href=\"./0\" 
title=\"0\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./0\"},\"sa\":{\"href\":\"0\"},\"dsr\":[0,5,2,2]}'>0</a></p>");
 add("wt2html", "<nowiki> inside a link", "<p 
data-parsoid='{\"dsr\":[0,96,0,0]}'><a rel=\"mw:WikiLink\" href=\"./Main_Page\" 
title=\"Main Page\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main&lt;nowiki>
 Page&lt;/nowiki>\"},\"dsr\":[0,30,2,2]}'>Main Page</a> <a rel=\"mw:WikiLink\" 
href=\"./Main_Page\" title=\"Main Page\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Main_Page\"},\"sa\":{\"href\":\"Main
 Page\"},\"dsr\":[31,96,12,2]}'>the main page <span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[57,94,8,9]}'>[it's not very good]</span></a></p>");
 add("wt2html", "Interlanguage link with spacing", "<p 
data-parsoid='{\"dsr\":[0,14,0,0]}'>Blah blah blah</p>\n<link 
rel=\"mw:PageProp/Language\" 
href=\"http://zh.wikipedia.org/wiki/%20%20%20%20Chinese%20%20%20%20%20\"; 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://zh.wikipedia.org/wiki/%20%20%20%20Chinese%20%20%20%20%20\"},\"sa\":{\"href\":\";
   zh  :    Chinese     \"},\"dsr\":[15,43,null,null]}'/>");
+add("wt2html", "Escaping of interlanguage links (T129218, T156308)", "<p 
data-parsoid='{\"dsr\":[0,51,0,0]}'>Blah blah blah\n<a rel=\"mw:ExtLink\" 
href=\"http://es.wikipedia.org/wiki/Spanish\"; title=\"es:Spanish\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://es.wikipedia.org/wiki/Spanish\"},\"sa\":{\"href\":\":es:Spanish\"},\"isIW\":true,\"dsr\":[15,30,2,2]}'>es:Spanish</a>\n<a
 rel=\"mw:WikiLink\" href=\"./Zh_:_Chinese\" title=\"Zh : Chinese\" 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"./Zh_:_Chinese\"},\"sa\":{\"href\":\"
 : zh : Chinese \"},\"dsr\":[31,51,2,2]}'> : zh : Chinese </a></p>");
 add("wt2html", "Space and question mark encoding in interlanguage links 
(T95473)", "<p data-parsoid='{\"dsr\":[0,14,0,0]}'>Blah blah blah</p>\n<link 
rel=\"mw:PageProp/Language\" href=\"http://es.wikipedia.org/wiki/Foo%20bar?\"; 
data-parsoid='{\"stx\":\"simple\",\"a\":{\"href\":\"http://es.wikipedia.org/wiki/Foo%20bar?\"},\"sa\":{\"href\":\"es:Foo
 bar?\"},\"dsr\":[15,30,null,null]}'/>");
 add("wt2html", "2. Lists with start-of-line-transparent tokens before bullets: 
Template close", "<ul about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"dsr\":[0,18,0,0],\"firstWikitextNode\":\"UL\",\"pi\":[[{\"k\":\"1\"}]]}'
 data-mw='{\"parts\":[\"*foo 
\",{\"template\":{\"target\":{\"wt\":\"echo\",\"href\":\"./Template:Echo\"},\"params\":{\"1\":{\"wt\":\"bar\\n\"}},\"i\":0}}]}'><li>foo
 bar</li></ul><span about=\"#mwt1\">\n</span><p 
data-parsoid='{\"dsr\":[18,22,0,0]}'>*baz</p>");
 add("wt2html", "Multiple list tags generated by templates", "<li 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-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>");
@@ -93,6 +94,8 @@
 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: {{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", "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>");
@@ -214,6 +217,7 @@
 add("wt2html", "Unidirectional converter rule entries with an empty \"from\" 
string should be ignored (T53551)", "<p 
data-parsoid='{\"dsr\":[0,24,0,0]}'>-{H|=>zh-cn:foo;}-foobar</p>");
 add("wt2html", "Empty converter rule entries shouldn't be inserted into the 
conversion table (T53551)", "<p 
data-parsoid='{\"dsr\":[0,12,0,0]}'>-{H|}-foobar</p>");
 add("wt2html", "Nested using of manual convert syntax", "<p 
data-parsoid='{\"dsr\":[0,113,0,0]}'>Nested: -{zh-hans:Hi 
-{zh-cn:China;zh-sg:Singapore;}-;zh-hant:Hello -{zh-tw:Taiwan;zh-hk:H-{ong}- 
K-{}-ong;}-;}-!</p>");
+add("wt2html", "HTML markups with conversion syntax in attribs, nested in 
other conversion blocks", "<p 
data-parsoid='{\"dsr\":[0,51,0,0]}'>-{zh;zh-hans;zh-hant|<span title=\"-{X}-\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[21,49,20,7]}'>A</span>}-</p>");
 add("wt2html", "Proper conversion of text in external links", "<p 
data-parsoid='{\"dsr\":[0,269,0,0]}'><a rel=\"mw:ExtLink\" 
href=\"http://www.google.com\"; 
data-parsoid='{\"stx\":\"url\",\"dsr\":[0,21,0,0]}'>http://www.google.com</a>\n<a
 rel=\"mw:ExtLink\" href=\"gopher://www.google.com\"; 
data-parsoid='{\"stx\":\"url\",\"dsr\":[22,45,0,0]}'>gopher://www.google.com</a>\n<a
 rel=\"mw:ExtLink\" href=\"http://www.google.com\"; 
data-parsoid='{\"targetOff\":69,\"contentOffsets\":[69,90],\"dsr\":[46,91,23,1]}'>http://www.google.com</a>\n<a
 rel=\"mw:ExtLink\" href=\"gopher://www.google.com\"; 
data-parsoid='{\"targetOff\":117,\"contentOffsets\":[117,140],\"dsr\":[92,141,25,1]}'>gopher://www.google.com</a>\n<a
 rel=\"mw:ExtLink\" href=\"https://www.google.com\"; 
data-parsoid='{\"targetOff\":166,\"contentOffsets\":[166,186],\"dsr\":[142,187,24,1]}'>irc://www.google.com</a>\n<a
 rel=\"mw:ExtLink\" href=\"ftp://www.google.com\"; 
data-parsoid='{\"targetOff\":210,\"contentOffsets\":[210,234],\"dsr\":[188,235,22,1]}'>www.google.com/ftp://dir</a>\n<a
 rel=\"mw:ExtLink\" href=\"//www.google.com\" 
data-parsoid='{\"targetOff\":254,\"contentOffsets\":[254,268],\"dsr\":[236,269,18,1]}'>www.google.com</a></p>");
 add("wt2html", "Do not convert roman numbers to language variants", "<p 
data-parsoid='{\"dsr\":[0,18,0,0]}'>Fridrih IV je car.</p>");
 add("wt2html", "Don't convert raw rule \"-{R|=&gt;}-\" to \"=>\"", "<p 
data-parsoid='{\"dsr\":[0,11,0,0]}'>-{R|=<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;gt;\",\"srcContent\":\">\",\"dsr\":[5,9,null,null]}'>></span>}-</p>");
@@ -539,8 +543,8 @@
 add("html2html", "Partly disable title conversion if variant == main language 
code", "<p data-parsoid='{\"dsr\":[0,2,0,0]}'>ZH</p>\n");
 add("html2html", "Partly disable title conversion if variant == main language 
code, more", "<p data-parsoid='{\"dsr\":[0,2,0,0]}'>ZH</p>\n");
 add("html2html", "Don't break link parsing if language converter markup is in 
the caption.", "<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", "T146305: Don't break image parsing if language converter 
markup is in the caption.", "<figure class=\"mw-default-size\" 
typeof=\"mw:Image/Thumb\" 
data-parsoid='{\"optList\":[{\"ck\":\"thumbnail\",\"ak\":\"thumb\"},{\"ck\":\"caption\",\"ak\":\"&lt;span>&lt;/span>\"}],\"dsr\":[0,43,2,2]}'><a
 href=\"./Датотека:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./Датотека:Foobar.jpg\"},\"sa\":{},\"dsr\":[2,null,null,null]}'><img
 resource=\"./Датотека:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"25\" width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./Датотека:Foobar.jpg\",\"height\":\"25\",\"width\":\"220\"},\"sa\":{\"resource\":\"Датотека:Foobar.jpg\"}}'/></a><figcaption
 data-parsoid='{\"dsr\":[null,41,null,null]}'><span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[28,41,6,7]}'></span></figcaption></figure>\n");
-add("html2html", "T146305: Don't break image parsing if nested language 
converter markup is in the caption.", "<figure class=\"mw-default-size\" 
typeof=\"mw:Image/Thumb\" 
data-parsoid='{\"optList\":[{\"ck\":\"thumbnail\",\"ak\":\"thumb\"},{\"ck\":\"caption\",\"ak\":\"&lt;span>&lt;/span>\"}],\"dsr\":[0,39,2,2]}'><a
 href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{},\"dsr\":[2,null,null,null]}'><img
 resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"25\" width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"25\",\"width\":\"220\"},\"sa\":{\"resource\":\"File:Foobar.jpg\"}}'/></a><figcaption
 data-parsoid='{\"dsr\":[null,37,null,null]}'><span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[24,37,6,7]}'></span></figcaption></figure>\n");
+add("html2html", "T146305: Don't break image parsing if language converter 
markup is in the caption.", "<figure class=\"mw-default-size\" 
typeof=\"mw:Image/Thumb\" 
data-parsoid='{\"optList\":[{\"ck\":\"thumbnail\",\"ak\":\"мини\"},{\"ck\":\"caption\",\"ak\":\"&lt;span>&lt;/span>\"}],\"dsr\":[0,42,2,2]}'><a
 href=\"./Датотека:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./Датотека:Foobar.jpg\"},\"sa\":{},\"dsr\":[2,null,null,null]}'><img
 resource=\"./Датотека:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"25\" width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./Датотека:Foobar.jpg\",\"height\":\"25\",\"width\":\"220\"},\"sa\":{\"resource\":\"Датотека:Foobar.jpg\"}}'/></a><figcaption
 data-parsoid='{\"dsr\":[null,40,null,null]}'><span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[27,40,6,7]}'></span></figcaption></figure>\n");
+add("html2html", "T146305: Don't break image parsing if nested language 
converter markup is in the caption.", "<figure class=\"mw-default-size\" 
typeof=\"mw:Image/Thumb\" 
data-parsoid='{\"optList\":[{\"ck\":\"thumbnail\",\"ak\":\"缩略图\"},{\"ck\":\"caption\",\"ak\":\"&lt;span>&lt;/span>\"}],\"dsr\":[0,37,2,2]}'><a
 href=\"./File:Foobar.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Foobar.jpg\"},\"sa\":{},\"dsr\":[2,null,null,null]}'><img
 resource=\"./File:Foobar.jpg\" 
src=\"//example.com/images/thumb/3/3a/Foobar.jpg/220px-Foobar.jpg\" 
data-file-width=\"1941\" data-file-height=\"220\" data-file-type=\"bitmap\" 
height=\"25\" width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Foobar.jpg\",\"height\":\"25\",\"width\":\"220\"},\"sa\":{\"resource\":\"File:Foobar.jpg\"}}'/></a><figcaption
 data-parsoid='{\"dsr\":[null,35,null,null]}'><span 
data-parsoid='{\"stx\":\"html\",\"dsr\":[22,35,6,7]}'></span></figcaption></figure>\n");
 add("html2html", "Don't break gallery if language converter markup is 
inside.", "<p data-parsoid='{\"dsr\":[0,4,0,0]}'>\t\t* </p><div style=\"width: 
155px\" data-parsoid='{\"stx\":\"html\",\"dsr\":[4,295,26,6]}'> \t\t\t<div 
class=\"thumb\" style=\"width: 150px;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[34,182,41,6]}'><div 
style=\"margin:68px auto;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[75,176,31,6]}'><img 
src=\"http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg\"; 
alt=\"120px-Foobar.jpg\" rel=\"mw:externalImage\" 
data-parsoid='{\"dsr\":[106,170,null,null]}'/></div></div> \t\t\t<div 
class=\"gallerytext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[186,286,25,6]}'> 
<img src=\"http://example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg\"; 
alt=\"20px-Foobar.jpg\" rel=\"mw:externalImage\" 
data-parsoid='{\"dsr\":[212,275,null,null]}'/>  \t\t\t</div> \t\t</div>\n<p 
data-parsoid='{\"dsr\":[296,300,0,0]}'>\t\t* </p><div style=\"width: 155px\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[300,551,26,6]}'> \t\t\t<div 
class=\"thumb\" style=\"width: 150px;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[330,478,41,6]}'><div 
style=\"margin:68px auto;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[371,472,31,6]}'><img 
src=\"http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg\"; 
alt=\"120px-Foobar.jpg\" rel=\"mw:externalImage\" 
data-parsoid='{\"dsr\":[402,466,null,null]}'/></div></div> \t\t\t<div 
class=\"gallerytext\" data-parsoid='{\"stx\":\"html\",\"dsr\":[482,542,25,6]}'> 
This is a test template  \t\t\t</div> \t\t</div>\n");
 add("html2html", "Free external link invading image caption", "<div 
class=\"thumb tright\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[0,236,26,6]}'><div 
class=\"thumbinner\" style=\"width:182px;\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[26,230,45,6]}'><img 
src=\"http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg\"; 
alt=\"180px-Foobar.jpg\" rel=\"mw:externalImage\" 
data-parsoid='{\"dsr\":[71,135,null,null]}'/>  <div class=\"thumbcaption\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[137,224,26,6]}'><div class=\"magnify\" 
data-parsoid='{\"stx\":\"html\",\"dsr\":[163,213,21,6]}'>[/wiki/File:Foobar.jpg]</div>hello</div></div></div>\n");
 add("html2html", "Bad images - basic functionality", "<p 
data-parsoid='{\"dsr\":[0,16,0,0]}'><span class=\"mw-default-size\" 
typeof=\"mw:Error mw:Image\" 
data-parsoid='{\"optList\":[],\"dsr\":[0,16,null,null]}' 
data-mw='{\"errors\":[{\"key\":\"missing-image\",\"message\":\"This image does 
not exist.\"}]}'><a href=\"./File:Bad.jpg\" 
data-parsoid='{\"a\":{\"href\":\"./File:Bad.jpg\"},\"sa\":{}}'><img 
resource=\"./File:Bad.jpg\" src=\"./Special:FilePath/Bad.jpg\" height=\"220\" 
width=\"220\" 
data-parsoid='{\"a\":{\"resource\":\"./File:Bad.jpg\",\"height\":\"220\",\"width\":\"220\"},\"sa\":{\"resource\":\"File:Bad.jpg\"}}'/></a></span></p>\n");
@@ -756,6 +760,7 @@
 add("html2wt", "Parsoid-centric test: Whitespace in ext- and wiki-links should 
be preserved", "[[wiki/Foo|  bar]]\n\n[[wiki/Foo|  ''bar'']]\n\n[http://wp.org 
foo]\n\n[http://wp.org ''foo'']\n");
 add("html2wt", "Interwiki link encoding conversion (bug 1636)", "* 
[[wikipedia:ro:Olteniţa|Wikipedia:ro:Olteniţa]]\n* 
[[wikipedia:ro:Olteniţa|Wikipedia:ro:Olteniţa]]\n");
 add("html2wt", "Interwiki link with fragment (bug 2130)", 
"[[meatball:SoftSecurity#foo|MeatBall:SoftSecurity#foo]]\n");
+add("html2wt", "Escaping of interlanguage links (T129218, T156308)", "Blah 
blah blah\n[[:es:Spanish]]\n[[:zh:Chinese| zh : Chinese ]]\n");
 add("html2wt", "Parsoid-specific test: Wikilinks with &nbsp; should RT 
properly", "[/index.php?title=WW_II&action=edit&redlink=1 WW II]\n");
 add("html2wt", "<br> to <br />", "1\n2\n3\n");
 add("html2wt", "Incorrecly removing closing slashes from correctly formed 
XHTML", "\n");
@@ -835,6 +840,8 @@
 add("html2wt", "Magic Word: {{SERVER}}", "http://example.org\n";);
 add("html2wt", "Magic Word: {{SERVERNAME}}", "example.org\n");
 add("html2wt", "Magic Word: {{SITENAME}}", "MediaWiki\n");
+add("html2wt", "Magic Word: {{PAGELANGUAGE}}", "fr\n");
+add("html2wt", "Magic Word: {{PAGELANGUAGE}} on a page with no explicitly set 
language", "en\n");
 add("html2wt", "Case-sensitive magic words, when cased differently, should 
just be template transclusions", 
"[/index.php?title=Template:CurrentMonth&action=edit&redlink=1 
Template:CurrentMonth]\n[/index.php?title=Template:Currentday&action=edit&redlink=1
 
Template:Currentday]\n[/index.php?title=Template:CURreNTweEK&action=edit&redlink=1
 
Template:CURreNTweEK]\n[/index.php?title=Template:CurrentHour&action=edit&redlink=1
 Template:CurrentHour]\n");
 add("html2wt", "Case-insensitive magic words should still work with weird 
casing.", "example.org\naOEU\nAoeu\nhttp://example.org\n";);
 add("html2wt", "Namespace 1 {{ns:1}}", "Talk\n");
@@ -1121,11 +1128,12 @@
 add("html2wt", "Unidirectional converter rule entries with an empty \"from\" 
string should be ignored (T53551)", "foobar\n");
 add("html2wt", "Empty converter rule entries shouldn't be inserted into the 
conversion table (T53551)", "foobar\n");
 add("html2wt", "Nested using of manual convert syntax", "Nested: Hello Hong 
Kong!\n");
+add("html2wt", "HTML markups with conversion syntax in attribs, nested in 
other conversion blocks", "<span title=\"X\">A</span>\n");
 add("html2wt", "Do not convert roman numbers to language variants", "Фридрих 
IV је цар.\n");
 add("html2wt", "Don't convert raw rule \"-{R|=&gt;}-\" to \"=>\"", "=>\n");
 add("html2wt", "Don't break link parsing if language converter markup is in 
the caption.", "[[wiki/Main Page|main page]]\n");
-add("html2wt", "T146305: Don't break image parsing if language converter 
markup is in the caption.", "[[Датотека:Foobar.jpg|thumb|<span></span>]]\n");
-add("html2wt", "T146305: Don't break image parsing if nested language 
converter markup is in the caption.", 
"[[File:Foobar.jpg|thumb|<span></span>]]\n");
+add("html2wt", "T146305: Don't break image parsing if language converter 
markup is in the caption.", "[[Датотека:Foobar.jpg|мини|<span></span>]]\n");
+add("html2wt", "T146305: Don't break image parsing if nested language 
converter markup is in the caption.", 
"[[File:Foobar.jpg|缩略图|<span></span>]]\n");
 add("html2wt", "Don't break gallery if language converter markup is inside.", 
"\t\t* <div style=\"width: 155px\"> \t\t\t<div class=\"thumb\" style=\"width: 
150px;\"><div style=\"margin:68px 
auto;\">http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg</div></div>
 \t\t\t<div class=\"gallerytext\"> 
http://example.com/images/thumb/3/3a/Foobar.jpg/20px-Foobar.jpg  \t\t\t</div> 
\t\t</div>\n\t\t* <div style=\"width: 155px\"> \t\t\t<div class=\"thumb\" 
style=\"width: 150px;\"><div style=\"margin:68px 
auto;\">http://example.com/images/thumb/3/3a/Foobar.jpg/120px-Foobar.jpg</div></div>
 \t\t\t<div class=\"gallerytext\"> This is a test template  \t\t\t</div> 
\t\t</div>\n");
 add("html2wt", "Don't break list handling if language converter markup is in 
the item.", "; AAA\n");
 add("html2wt", "T153140: Don't break table handling if language converter 
markup is in the cell.", "{|\n| B\n|}\n");
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 52209d2..8d2118e 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -8600,6 +8600,23 @@
 <link rel="mw:PageProp/Language" href="http://es.wikipedia.org/wiki/Foo_bar"; />
 !! end
 
+!! test
+Escaping of interlanguage links (T129218, T156308)
+!! wikitext
+Blah blah blah
+[[:es:Spanish]]
+[[ : zh : Chinese ]]
+!! html/php
+<p>Blah blah blah
+<a href="http://es.wikipedia.org/wiki/Spanish"; class="extiw" 
title="es:Spanish">es:Spanish</a>
+<a href="http://zh.wikipedia.org/wiki/Chinese"; class="extiw" 
title="zh:Chinese"> zh : Chinese </a>
+</p>
+!! html/parsoid
+<p>Blah blah blah
+<a rel="mw:ExtLink" href="http://es.wikipedia.org/wiki/Spanish"; 
title="es:Spanish">es:Spanish</a>
+<a rel="mw:ExtLink" href="http://zh.wikipedia.org/wiki/Chinese"; 
title="zh:Chinese"> zh : Chinese </a></p>
+!! end
+
 ## parsoid html2wt will normalize the space to _
 !! test
 Space and question mark encoding in interlanguage links (T95473)
@@ -10296,6 +10313,26 @@
 {{SITENAME}}
 !! html
 <p>MediaWiki
+</p>
+!! end
+
+!! test
+Magic Word: {{PAGELANGUAGE}}
+!! options
+language=fr
+!! wikitext
+{{PAGELANGUAGE}}
+!! html
+<p>fr
+</p>
+!! end
+
+!! test
+Magic Word: {{PAGELANGUAGE}} on a page with no explicitly set language
+!! wikitext
+{{PAGELANGUAGE}}
+!! html
+<p>en
 </p>
 !! end
 
@@ -16057,7 +16094,7 @@
 !! wikitext
 <div title="{}">Foo</div>
 !! html/php
-<div title="&#123;}">Foo</div>
+<div title="&#123;&#125;">Foo</div>
 
 !! html/parsoid
 <div title="{}">Foo</div>
@@ -20674,6 +20711,28 @@
 </p>
 !! end
 
+!! test
+HTML markups with conversion syntax in attribs, nested in other conversion 
blocks
+!! options
+language=zh variant=zh-cn
+!! wikitext
+-{zh;zh-hans;zh-hant|<span title="-{X}-">A</span>}-
+!! html
+<p><span title="X">A</span>
+</p>
+!! end
+
+!! test
+HTML markups with conversion syntax in attribs, nested in other conversion 
blocks (not working yet)
+!! options
+language=zh variant=zh-cn disabled
+!! wikitext
+-{<span title="-{X}-">A</span>}-
+!! html
+<p><span title="X">A</span>
+</p>
+!! end
+
 # Since Parsoid is starting to emit canonical wikitext for links,
 # [http://example.com http://example.com] will not RT back to that
 # form anymore.
diff --git a/tools/fetch-parserTests.txt.js b/tools/fetch-parserTests.txt.js
index f801139..90f971d 100755
--- a/tools/fetch-parserTests.txt.js
+++ b/tools/fetch-parserTests.txt.js
@@ -12,9 +12,9 @@
 //     and update these hashes automatically.
 //
 // You can use 'sha1sum -b tests/parser/parserTests.txt' to compute this value:
-var expectedSHA1 = "d358d2a1401d9d9ba06099d1f8862282acf00b87";
+var expectedSHA1 = "e356e32b279671d5c662aa4409d64425c14adb6f";
 // git log --pretty=oneline -1 tests/parser/parserTests.txt
-var latestCommit = "6b97c822726c98f9b3cbc821e631dc18e52489d2";
+var latestCommit = "4a07505402a56a32be23a570f4bd1fe33dd542a9";
 
 var fs = require('fs');
 var path = require('path');

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I09b794af5a8eb83b99f90f128f1c67efabec8576
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: C. Scott Ananian <canan...@wikimedia.org>
Gerrit-Reviewer: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to