Cscott has uploaded a new change for review.

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

Change subject: Use rel="mw:WikiLink" for ISBN magic links
......................................................................

Use rel="mw:WikiLink" for ISBN magic links

As per our policy, treat mw:WikiLink and mw:ExtLink interchangably when
serializing.

Change-Id: Ibdad2fa98fca08eeaa96bf33a08dd7723c1edb8c
---
M lib/ext.core.LinkHandler.js
M lib/pegTokenizer.pegjs.txt
M lib/wts.LinkHandler.js
M lib/wts.escapeWikitext.js
M tests/parserTests-blacklist.js
M tests/parserTests.txt
6 files changed, 31 insertions(+), 25 deletions(-)


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

diff --git a/lib/ext.core.LinkHandler.js b/lib/ext.core.LinkHandler.js
index d23ab5c..e9a8402 100644
--- a/lib/ext.core.LinkHandler.js
+++ b/lib/ext.core.LinkHandler.js
@@ -1559,13 +1559,15 @@
        var magLinkRe = 
/(?:^|\s)(mw:(?:Ext|Wiki)Link\/(?:ISBN|RFC|PMID))(?=$|\s)/;
 
        if (rdfaType && magLinkRe.test(rdfaType)) {
-               var newHref = href;
+               var newHref = href, newRel = 'mw:ExtLink';
                if (/(?:^|\s)mw:(Ext|Wiki)Link\/ISBN/.test(rdfaType)) {
                        newHref = env.page.relativeLinkPrefix + href;
+                       // ISBNs use mw:WikiLink instead of mw:ExtLink
+                       newRel = 'mw:WikiLink';
                }
                newAttrs = [
                        new KV('href', newHref),
-                       new KV('rel', 'mw:ExtLink'),
+                       new KV('rel', newRel),
                ];
                token.removeAttribute('typeof');
 
diff --git a/lib/pegTokenizer.pegjs.txt b/lib/pegTokenizer.pegjs.txt
index 39a4120..23aeb35 100644
--- a/lib/pegTokenizer.pegjs.txt
+++ b/lib/pegTokenizer.pegjs.txt
@@ -471,7 +471,7 @@
         new SelfclosingTagTk('extlink', [
            new KV('href', 'Special:BookSources/' + isbncode.toUpperCase()),
            new KV('mw:content', 'ISBN ' + isbn),
-           new KV('typeof', 'mw:ExtLink/ISBN'),
+           new KV('typeof', 'mw:WikiLink/ISBN'),
         ],
         { stx: "magiclink", tsr: tsrOffsets() }),
     ];
diff --git a/lib/wts.LinkHandler.js b/lib/wts.LinkHandler.js
index 99d8ed1..ca5f361 100644
--- a/lib/wts.LinkHandler.js
+++ b/lib/wts.LinkHandler.js
@@ -630,6 +630,10 @@
        // Get the rt data from the token and tplAttrs
        var linkData = getLinkRoundTripData(env, node, state);
        var linkType = linkData.type;
+       if (wiki.ExtResourceURLPatternMatcher.match(linkData.origHref)) {
+               // Override the 'rel' type if this is a magic link
+               linkType = 'mw:ExtLink';
+       }
        if (linkType !== null && linkData.target.value !== null) {
                // We have a type and target info
                if (/^mw:WikiLink$/.test(linkType) || 
Util.solTransparentLinkRegexp.test(linkType)) {
diff --git a/lib/wts.escapeWikitext.js b/lib/wts.escapeWikitext.js
index 0757f00..849f9bc 100644
--- a/lib/wts.escapeWikitext.js
+++ b/lib/wts.escapeWikitext.js
@@ -279,7 +279,7 @@
                        // * Ignore RFC/ISBN/PMID tokens when those are 
encountered in the
                        //   context of another link's content -- those are not 
parsed to
                        //   ext-links in that context. (T109371)
-                       if (t.name === 'extlink' && t.dataAttribs && 
t.dataAttribs.stx === 'magiclink' && (state.inAttribute || state.inLink)) {
+                       if ((t.name === 'extlink' || t.name === 'wikilink') && 
t.dataAttribs && t.dataAttribs.stx === 'magiclink' && (state.inAttribute || 
state.inLink)) {
                                continue;
                        }
 
diff --git a/tests/parserTests-blacklist.js b/tests/parserTests-blacklist.js
index 21589f2..9741219 100644
--- a/tests/parserTests-blacklist.js
+++ b/tests/parserTests-blacklist.js
@@ -101,7 +101,7 @@
 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", "Urlencode", "<p data-parsoid='{\"dsr\":[0,115,0,0]}'><span 
about=\"#mwt1\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[]],\"dsr\":[0,24,null,null]}' 
data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"urlencode:hi 
world?!\",\"function\":\"urlencode\"},\"params\":{},\"i\":0}}]}'>hi%20world%3F!</span>\n<span
 about=\"#mwt2\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[25,54,null,null]}'
 data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"urlencode:hi 
world?!\",\"function\":\"urlencode\"},\"params\":{\"1\":{\"wt\":\"WIKI\"}},\"i\":0}}]}'>hi%20world%3F!</span>\n<span
 about=\"#mwt3\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[55,84,null,null]}'
 data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"urlencode:hi 
world?!\",\"function\":\"urlencode\"},\"params\":{\"1\":{\"wt\":\"PATH\"}},\"i\":0}}]}'>hi%20world%3F!</span>\n<span
 about=\"#mwt4\" typeof=\"mw:Transclusion\" 
data-parsoid='{\"pi\":[[{\"k\":\"1\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"dsr\":[85,115,null,null]}'
 data-mw='{\"parts\":[{\"template\":{\"target\":{\"wt\":\"urlencode:hi 
world?!\",\"function\":\"urlencode\"},\"params\":{\"1\":{\"wt\":\"QUERY\"}},\"i\":0}}]}'>hi%20world%3F!</span></p>");
 add("wt2html", "Magic links: RFC (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,47,0,0]}'>RFC <span 
typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[4,10,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[10,16,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[16,23,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[23,29,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#Xa0;\",\"srcContent\":\" 
\",\"dsr\":[29,35,null,null]}'> </span> 822\n<a 
href=\"//tools.ietf.org/html/rfc822\" rel=\"mw:ExtLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[40,47,0,0]}'>RFC 822</a></p>");
-add("wt2html", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,114,0,0]}'>ISBN <span 
typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[5,11,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[11,17,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[17,24,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[24,30,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#Xa0;\",\"srcContent\":\" 
\",\"dsr\":[30,36,null,null]}'> </span> 978<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[40,46,null,null]}'> </span>0<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[47,53,null,null]}'> </span>316<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[56,63,null,null]}'> </span>09811<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[68,74,null,null]}'> </span>3\n<a 
href=\"./Special:BookSources/9780316098113\" rel=\"mw:ExtLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[76,94,0,0]}'>ISBN 
9780316098113</a>\nISBN 978\n0316098113</p>");
+add("wt2html", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,114,0,0]}'>ISBN <span 
typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[5,11,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[11,17,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[17,24,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[24,30,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#Xa0;\",\"srcContent\":\" 
\",\"dsr\":[30,36,null,null]}'> </span> 978<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[40,46,null,null]}'> </span>0<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[47,53,null,null]}'> </span>316<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[56,63,null,null]}'> </span>09811<span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[68,74,null,null]}'> </span>3\n<a 
href=\"./Special:BookSources/9780316098113\" rel=\"mw:WikiLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[76,94,2,2]}'>ISBN 
9780316098113</a>\nISBN 978\n0316098113</p>");
 add("wt2html", "Magic links: PMID (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,51,0,0]}'>PMID <span 
typeof=\"mw:Entity\" data-parsoid='{\"src\":\"&amp;nbsp;\",\"srcContent\":\" 
\",\"dsr\":[5,11,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#160;\",\"srcContent\":\" 
\",\"dsr\":[11,17,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#0160;\",\"srcContent\":\" 
\",\"dsr\":[17,24,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#xA0;\",\"srcContent\":\" 
\",\"dsr\":[24,30,null,null]}'> </span><span typeof=\"mw:Entity\" 
data-parsoid='{\"src\":\"&amp;#Xa0;\",\"srcContent\":\" 
\",\"dsr\":[30,36,null,null]}'> </span> 1234\n<a 
href=\"//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract\" rel=\"mw:ExtLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[42,51,0,0]}'>PMID 1234</a></p>");
 add("wt2html", "Nonexistent template", "<p 
data-parsoid='{\"dsr\":[0,28,0,0]}'><span typeof=\"mw:Transclusion 
mw:Placeholder\" about=\"#mwt1\" id=\"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", "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\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"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\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"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\",\"spc\":[\"\",\"\",\"\",\"\"]}]],\"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>");
@@ -504,7 +504,7 @@
 add("html2html", "Case-sensitive magic words, when cased differently, should 
just be template transclusions", "<p 
data-parsoid='{\"dsr\":[0,331,0,0]}'>[/index.php?title=Template:CurrentMonth&amp;action=edit&amp;redlink=1
 
Template:CurrentMonth]\n[/index.php?title=Template:Currentday&amp;action=edit&amp;redlink=1
 
Template:Currentday]\n[/index.php?title=Template:CURreNTweEK&amp;action=edit&amp;redlink=1
 
Template:CURreNTweEK]\n[/index.php?title=Template:CurrentHour&amp;action=edit&amp;redlink=1
 Template:CurrentHour]</p>\n");
 add("html2html", "Magic links: internal link to RFC (bug 479)", "<p 
data-parsoid='{\"dsr\":[0,56,0,0]}'>[/index.php?title=RFC_123&amp;action=edit&amp;redlink=1
 <a href=\"//tools.ietf.org/html/rfc123\" rel=\"mw:ExtLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[48,55,0,0]}'>RFC 123</a>]</p>\n");
 add("html2html", "Magic links: ISBN (bug 1937)", "<p 
data-parsoid='{\"dsr\":[0,58,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Wiki/Special:BookSources/0306406152\" 
title=\"Wiki/Special:BookSources/0306406152\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Special:BookSources/0306406152\"},\"sa\":{\"href\":\"wiki/Special:BookSources/0306406152\"},\"dsr\":[0,58,38,2]}'>ISBN
 0-306-40615-2</a></p>\n");
-add("html2html", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,104,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Wiki/Special:BookSources/9780316098113\" 
title=\"Wiki/Special:BookSources/9780316098113\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Special:BookSources/9780316098113\"},\"sa\":{\"href\":\"wiki/Special:BookSources/9780316098113\"},\"dsr\":[0,65,41,2]}'>ISBN
 978 0 316 09811 3</a>\n<a href=\"./Special:BookSources/9780316098113\" 
rel=\"mw:ExtLink\" 
data-parsoid='{\"stx\":\"magiclink\",\"dsr\":[66,84,0,0]}'>ISBN 
9780316098113</a>\nISBN 978\n0316098113</p>\n");
+add("html2html", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "<p data-parsoid='{\"dsr\":[0,121,0,0]}'><a rel=\"mw:WikiLink\" 
href=\"./Wiki/Special:BookSources/9780316098113\" 
title=\"Wiki/Special:BookSources/9780316098113\" 
data-parsoid='{\"stx\":\"piped\",\"a\":{\"href\":\"./Wiki/Special:BookSources/9780316098113\"},\"sa\":{\"href\":\"wiki/Special:BookSources/9780316098113\"},\"dsr\":[0,65,41,2]}'>ISBN
 978 0 316 09811 3</a>\n<span typeof=\"mw:Nowiki\" 
data-parsoid='{\"dsr\":[66,121,8,9]}'>ISBN\n9780316098113\nISBN 
978\n0316098113</span></p>\n");
 add("html2html", "Nonexistent template", "<p 
data-parsoid='{\"dsr\":[0,108,0,0]}'>[/index.php?title=Template:Thistemplatedoesnotexist&amp;action=edit&amp;redlink=1
 Template:Thistemplatedoesnotexist]</p>\n");
 add("html2html", "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>\n");
 add("html2html", "Template unnamed parameter", "<p 
data-parsoid='{\"dsr\":[0,32,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,32,17,2]}'>the main page</a></p>\n");
@@ -984,7 +984,7 @@
 add("html2wt", "Magic links: internal link to RFC (bug 479)", 
"[/index.php?title=RFC_123&action=edit&redlink=1 RFC 123]\n");
 add("html2wt", "Magic links: RFC (w/ non-newline whitespace, bug 
28950/29025)", "RFC 822\n<nowiki>RFC\n822</nowiki>\n");
 add("html2wt", "Magic links: ISBN (bug 1937)", 
"[[wiki/Special:BookSources/0306406152|ISBN 0-306-40615-2]]\n");
-add("html2wt", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "[[wiki/Special:BookSources/9780316098113|ISBN 978 0 316 09811 
3]]\nISBN\n9780316098113\nISBN 978\n0316098113\n");
+add("html2wt", "Magic links: ISBN (w/ non-newline whitespace, bug 
28950/29025)", "[[wiki/Special:BookSources/9780316098113|ISBN 978 0 316 09811 
3]]\n<nowiki>ISBN\n9780316098113\nISBN 978\n0316098113</nowiki>\n");
 add("html2wt", "Magic links: PMID (w/ non-newline whitespace, bug 
28950/29025)", "PMID 1234\n<nowiki>PMID\n1234</nowiki>\n");
 add("html2wt", "Nonexistent template", 
"[/index.php?title=Template:Thistemplatedoesnotexist&action=edit&redlink=1 
Template:Thistemplatedoesnotexist]\n");
 add("html2wt", "Template with invalid target containing tags", 
"<nowiki>{{</nowiki>a'''b'''|foo|a=b|a = b<nowiki>}}</nowiki>\n");
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 75749af..1dcd7a9 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -9853,7 +9853,7 @@
 <p>This is <a href="/wiki/Special:BookSources/9780316098113" class="internal 
mw-magiclink-isbn">ISBN 978-0-316-09811-3</a> but thisISBN 978-0-316-09811-3 is 
not ISBN 978-0-316-09811-3linked.
 </p>
 !! html/parsoid
-<p>This is <a href="./Special:BookSources/9780316098113" rel="mw:ExtLink">ISBN 
978-0-316-09811-3</a> but thisISBN 978-0-316-09811-3 is not ISBN 
978-0-316-09811-3linked.</p>
+<p>This is <a href="./Special:BookSources/9780316098113" 
rel="mw:WikiLink">ISBN 978-0-316-09811-3</a> but thisISBN 978-0-316-09811-3 is 
not ISBN 978-0-316-09811-3linked.</p>
 !! end
 
 !! test
@@ -13181,7 +13181,7 @@
 <div class="thumb tright"><div class="thumbinner" style="width:182px;"><a 
href="/wiki/File:Foobar.jpg" class="image"><img alt="" 
src="http://example.com/images/thumb/3/3a/Foobar.jpg/180px-Foobar.jpg"; 
width="180" height="20" class="thumbimage" 
srcset="http://example.com/images/thumb/3/3a/Foobar.jpg/270px-Foobar.jpg 1.5x, 
http://example.com/images/thumb/3/3a/Foobar.jpg/360px-Foobar.jpg 2x" /></a>  
<div class="thumbcaption"><div class="magnify"><a href="/wiki/File:Foobar.jpg" 
class="internal" title="Enlarge"></a></div><a 
href="/wiki/Special:BookSources/1235467890" class="internal 
mw-magiclink-isbn">ISBN 1235467890</a></div></div></div>
 
 !! html/parsoid
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="./Special:BookSources/1235467890" rel="mw:ExtLink">ISBN 
1235467890</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="./Special:BookSources/1235467890" rel="mw:WikiLink">ISBN 
1235467890</a></figcaption></figure>
 !! end
 
 !! test
@@ -18119,7 +18119,7 @@
 !! html+tidy
 <p><a href="/wiki/Special:BookSources/9780123456" class="internal 
mw-magiclink-isbn">ISBN 978-0-1234-56</a> 789</p>
 !! html/parsoid
-<p><a href="./Special:BookSources/9780123456" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978-0-1234-56</a><span 
typeof="mw:Entity" data-parsoid='{"src":"&amp;#x20;","srcContent":" "}'> 
</span>789</p>
+<p><a href="./Special:BookSources/9780123456" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978-0-1234-56</a><span 
typeof="mw:Entity" data-parsoid='{"src":"&amp;#x20;","srcContent":" "}'> 
</span>789</p>
 !! end
 
 !! test
@@ -18139,7 +18139,7 @@
 <p>ISBN <a href="/wiki/Special:BookSources/1234567890" class="internal 
mw-magiclink-isbn">ISBN 1234567890</a>
 </p>
 !! html/parsoid
-<p>ISBN <a href="./Special:BookSources/1234567890" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a></p>
+<p>ISBN <a href="./Special:BookSources/1234567890" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a></p>
 !! end
 
 # Uppercase X and lowercase x as well
@@ -18161,12 +18161,12 @@
 <a href="/wiki/Special:BookSources/978080442957X" class="internal 
mw-magiclink-isbn">ISBN 978080442957x</a>
 </p>
 !! html/parsoid
-<p><a href="./Special:BookSources/346204561X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 3-462-04561-X</a>
-<a href="./Special:BookSources/346204561X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 3-462-04561-x</a>
-<a href="./Special:BookSources/080442957X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 080442957X</a>
-<a href="./Special:BookSources/080442957X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 080442957x</a>
-<a href="./Special:BookSources/978080442957X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978080442957X</a>
-<a href="./Special:BookSources/978080442957X" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978080442957x</a></p>
+<p><a href="./Special:BookSources/346204561X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 3-462-04561-X</a>
+<a href="./Special:BookSources/346204561X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 3-462-04561-x</a>
+<a href="./Special:BookSources/080442957X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 080442957X</a>
+<a href="./Special:BookSources/080442957X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 080442957x</a>
+<a href="./Special:BookSources/978080442957X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978080442957X</a>
+<a href="./Special:BookSources/978080442957X" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 978080442957x</a></p>
 !! end
 
 !! test
@@ -18177,7 +18177,7 @@
 <p><a href="/wiki/Special:BookSources/1234567890" class="internal 
mw-magiclink-isbn">ISBN 1234567890</a>
 </p>
 !! html/parsoid
-<p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 
1234567890</a></p>
+<p><a href="./Special:BookSources/1234567890" rel="mw:WikiLink">ISBN 
1234567890</a></p>
 !! end
 
 !! test
@@ -18188,7 +18188,7 @@
 <p><abbr>(fr)</abbr> <a href="/wiki/Special:BookSources/2753300917" 
class="internal mw-magiclink-isbn">ISBN 2753300917</a> <a rel="nofollow" 
class="external text" href="http://www.example.com";>example.com</a>
 </p>
 !! html/parsoid
-<p><abbr data-parsoid='{"stx":"html"}'>(fr)</abbr> <a 
href="./Special:BookSources/2753300917" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 2753300917</a> <a rel="mw:ExtLink" 
href="http://www.example.com";>example.com</a></p>
+<p><abbr data-parsoid='{"stx":"html"}'>(fr)</abbr> <a 
href="./Special:BookSources/2753300917" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 2753300917</a> <a rel="mw:ExtLink" 
href="http://www.example.com";>example.com</a></p>
 !! end
 
 !! test
@@ -22812,9 +22812,9 @@
 !! test
 Links 12. Add <nowiki/>s between text-nodes and ISBN-links when required (bug 
64300)
 !! html/parsoid
-<p><a href="./Special:BookSources/1234567890" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>1
-<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>x
-a<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>b
+<p><a href="./Special:BookSources/1234567890" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>1
+<a href="./Special:BookSources/1234567890" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>x
+a<a href="./Special:BookSources/1234567890" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>b
 </p>
 !! wikitext
 ISBN 1234567890<nowiki/>1
@@ -22825,7 +22825,7 @@
 !! test
 Links 13. Don't add spurious <nowiki/>s between text-nodes and ISBN-links (bug 
64300)
 !! html/parsoid
-<p>-<a href="./Special:BookSources/1234567890" rel="mw:ExtLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>'s
+<p>-<a href="./Special:BookSources/1234567890" rel="mw:WikiLink" 
data-parsoid='{"stx":"magiclink"}'>ISBN 1234567890</a>'s
 !! wikitext
 -ISBN 1234567890's
 !! html/php
@@ -24863,7 +24863,7 @@
 !! options
 parsoid=html2wt
 !! html/parsoid
-<a rel="mw:ExtLink" href="./Special:BookSources/1234567890">ISBN 1234567895</a>
+<a href="./Special:BookSources/1234567890" rel="mw:ExtLink">ISBN 1234567895</a>
 !! wikitext
 [[Special:BookSources/1234567890|ISBN 1234567895]]
 !! end
@@ -25040,7 +25040,7 @@
 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a rel="mw:ExtLink" 
href="http://example.com";>http://example.com</a></figcaption></figure>
 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="//tools.ietf.org/html/rfc1234" rel="mw:ExtLink">RFC 
1234</a></figcaption></figure>
 <figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="//www.ncbi.nlm.nih.gov/pubmed/1234?dopt=Abstract" rel="mw:ExtLink">PMID 
1234</a></figcaption></figure>
-<figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="./Special:BookSources/123456789X" rel="mw:ExtLink">ISBN 
123456789x</a></figcaption></figure>
+<figure class="mw-default-size" typeof="mw:Image/Thumb"><a 
href="./File:Foobar.jpg"><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"/></a><figcaption><a 
href="./Special:BookSources/123456789X" rel="mw:WikiLink">ISBN 
123456789x</a></figcaption></figure>
 !! end
 
 !! test

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

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

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

Reply via email to