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