Arlolra has uploaded a new change for review.

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

Change subject: Trim while normalizing namespace for interwiki links
......................................................................

Trim while normalizing namespace for interwiki links

Bug: 68090
Change-Id: I3328de950d3473430ef6011b993230e60fe10404
---
M lib/ext.core.LinkHandler.js
M lib/wts.LinkHandler.js
M tests/parserTests.txt
3 files changed, 21 insertions(+), 2 deletions(-)


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

diff --git a/lib/ext.core.LinkHandler.js b/lib/ext.core.LinkHandler.js
index a0e1b33..11ca44d 100644
--- a/lib/ext.core.LinkHandler.js
+++ b/lib/ext.core.LinkHandler.js
@@ -80,7 +80,7 @@
        if ( hrefBits ) {
                var nsPrefix = hrefBits[1];
                info.prefix = nsPrefix;
-               var nnn = Util.normalizeNamespaceName( nsPrefix ),
+               var nnn = Util.normalizeNamespaceName( nsPrefix.trim() ),
                        interwikiInfo = env.conf.wiki.interwikiMap[nnn],
                        // check for interwiki / language links
                        ns = env.conf.wiki.namespaceIds[nnn];
diff --git a/lib/wts.LinkHandler.js b/lib/wts.LinkHandler.js
index a5dffe5..f2f6484 100644
--- a/lib/wts.LinkHandler.js
+++ b/lib/wts.LinkHandler.js
@@ -284,7 +284,7 @@
                                                // Check if the old prefix 
mapped to the same URL as
                                                // the new one. Use the old one 
if that's the case.
                                                // Example: [[w:Foo]] vs. 
[[:en:Foo]]
-                                               
(env.conf.wiki.interwikiMap[oldPrefix[1].toLowerCase().replace(/^:/, '')] || 
{}).url ===
+                                               
(env.conf.wiki.interwikiMap[oldPrefix[1].toLowerCase().trim().replace(/^:/, 
'')] || {}).url ===
                                                
(env.conf.wiki.interwikiMap[interWikiMatch[0].toLowerCase().replace(/^:/, '')] 
|| {}).url
                                                ))
                                {
diff --git a/tests/parserTests.txt b/tests/parserTests.txt
index 4a3889d..d2cd088 100644
--- a/tests/parserTests.txt
+++ b/tests/parserTests.txt
@@ -6351,6 +6351,8 @@
 [[wikipedia:en:Foo]]
 
 [[:wikipedia:en:Foo]]
+
+[[  wikiPEdia :Foo]]
 !! html/parsoid
 <p><a rel="mw:ExtLink" href="//en.wikipedia.org/wiki/Foo" 
data-parsoid='{"stx":"simple","a":{"href":"//en.wikipedia.org/wiki/Foo"},"sa":{"href":":en:Foo"},"isIW":true}'>en:Foo</a></p>
 
@@ -6363,6 +6365,8 @@
 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/en:Foo"; 
data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/en:Foo"},"sa":{"href":"wikipedia:en:Foo"},"isIW":true}'>wikipedia:en:Foo</a></p>
 
 <p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/en:Foo"; 
data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/en:Foo"},"sa":{"href":":wikipedia:en:Foo"},"isIW":true}'>wikipedia:en:Foo</a></p>
+
+<p><a rel="mw:ExtLink" href="http://en.wikipedia.org/wiki/Foo"; 
data-parsoid='{"stx":"simple","a":{"href":"http://en.wikipedia.org/wiki/Foo"},"sa":{"href":";
  wikiPEdia :Foo"},"isIW":true}'>  wikiPEdia :Foo</a></p>
 !! end
 
 !! test
@@ -6426,6 +6430,21 @@
 !! end
 
 !! test
+Interlanguage link variations
+!! wikitext
+Blah blah blah
+[[   es :Spanish]]
+[[ ZH :Chinese]]
+!! html/php
+<p>Blah blah blah
+</p>
+!! html/parsoid
+<p>Blah blah blah
+<link rel="mw:PageProp/Language" href="//es.wikipedia.org/wiki/Spanish" 
data-parsoid='{"stx":"simple","a":{"href":"//es.wikipedia.org/wiki/Spanish"},"sa":{"href":"
   es :Spanish"}}'/>
+<link rel="mw:PageProp/Language" href="//zh.wikipedia.org/wiki/Chinese" 
data-parsoid='{"stx":"simple","a":{"href":"//zh.wikipedia.org/wiki/Chinese"},"sa":{"href":"
 ZH :Chinese"}}'/>
+!! end
+
+!! test
 Interlanguage link, with prefix links
 !! options
 language=ln

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

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

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

Reply via email to