jenkins-bot has submitted this change and it was merged.

Change subject: Apply link tails to interwiki links
......................................................................


Apply link tails to interwiki links

Bug: 60413
Change-Id: I97b08fbf76cc325d55eb48b4fbe79ce327a4a7b6
---
M lib/dom.t.handleLinkNeighbours.js
M tests/parserTests.txt
2 files changed, 19 insertions(+), 3 deletions(-)

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



diff --git a/lib/dom.t.handleLinkNeighbours.js 
b/lib/dom.t.handleLinkNeighbours.js
index 64f062c..fa58daf 100644
--- a/lib/dom.t.handleLinkNeighbours.js
+++ b/lib/dom.t.handleLinkNeighbours.js
@@ -114,14 +114,21 @@
  * Workhorse function for bringing linktrails and link prefixes into link 
content.
  * NOTE that this function mutates the node's siblings on either side.
  */
+var linkTypes = JSUtils.arrayToSet([ 'mw:ExtLink', 'mw:WikiLink' ]);
 function handleLinkNeighbours( env, node ) {
-       if ( node.getAttribute( 'rel' ) !== 'mw:WikiLink' ) {
+
+       var rel = node.getAttribute( 'rel' );
+       if ( !linkTypes.has( rel ) ) {
+               return true;
+       }
+
+       var dp = DU.getDataParsoid( node );
+       if ( rel === 'mw:ExtLink' && !dp.isIW ) {
                return true;
        }
 
        var ix, dataMW, prefix = getLinkPrefix( env, node ),
-               trail = getLinkTrail( env, node ),
-               dp = DU.getDataParsoid( node );
+               trail = getLinkTrail( env, node );
 
        if ( prefix && prefix.content ) {
                for ( ix = 0; ix < prefix.content.length; ix++ ) {
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index ed5fd54..2c66655 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -5826,6 +5826,15 @@
 <a rel="mw:ExtLink" href="http://de.wikipedia.org/wiki/#foo";>is just 
fragment</a></p>
 !! end
 
+!! test
+Interwiki links: trail
+!! options
+parsoid
+!! input
+[[wikipedia:Foo|Ba]]r
+!! result
+<p data-parsoid='{}'><a rel="mw:ExtLink" 
href="http://en.wikipedia.org/wiki/Foo"; 
data-parsoid='{"stx":"piped","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":"wikipedia:Foo"},"isIW":true,"tail":"r"}'>Bar</a></p>
+!! end
 
 ###
 ### Interlanguage links

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I97b08fbf76cc325d55eb48b4fbe79ce327a4a7b6
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: GWicke <gwi...@wikimedia.org>
Gerrit-Reviewer: Subramanya Sastry <ssas...@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