Sbisson has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/398096 )
Change subject: RCLFilters: support target page with a subpage
......................................................................
RCLFilters: support target page with a subpage
Correctly extract the target page when it has a subpage.
Examples (taken from unit tests):
http://host/wiki/Special:RecentChangesLinked/Moai/Sub1
http://host/wiki/Special:RecentChangesLinked/Category:Foo/Bar
http://host/w/index.php?title=Special:RecentChangesLinked/Moai/Sub1
Bug: T182734
Change-Id: Id6909728f461a3cd687185abd304f2fac5dc6000
(cherry picked from commit bdb1d9894743e779662688295d59747390afff4f)
---
M resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
M tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js
2 files changed, 22 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/96/398096/1
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
index 3e1191f..05aa2fc 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.UriProcessor.js
@@ -100,7 +100,8 @@
*/
mw.rcfilters.UriProcessor.prototype._normalizeTargetInUri = function (
uri ) {
var parts,
- re = /^((?:\/.+\/)?.+:.+)\/(.+)$/; // matches
[namespace:]Title/Subpage
+ // matches
[/wiki/]SpecialNS:RCL/[Namespace:]Title/Subpage/Subsubpage/etc
+ re = /^((?:\/.+?\/)?.*?:.*?)\/(.*)$/;
// target in title param
if ( uri.query.title ) {
diff --git
a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js
b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js
index 674bf07..a234d1a 100644
--- a/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js
+++ b/tests/qunit/suites/resources/mediawiki.rcfilters/UriProcessor.test.js
@@ -286,16 +286,36 @@
message: 'Target as subpage in path'
},
{
+ input:
'http://host/wiki/Special:RecentChangesLinked/Moai/Sub1',
+ output:
'http://host/wiki/Special:RecentChangesLinked?target=Moai/Sub1',
+ message: 'Target as subpage also has a
subpage'
+ },
+ {
input:
'http://host/wiki/Special:RecentChangesLinked/Category:Foo',
output:
'http://host/wiki/Special:RecentChangesLinked?target=Category:Foo',
message: 'Target as subpage in path
(with namespace)'
},
{
+ input:
'http://host/wiki/Special:RecentChangesLinked/Category:Foo/Bar',
+ output:
'http://host/wiki/Special:RecentChangesLinked?target=Category:Foo/Bar',
+ message: 'Target as subpage in path
also has a subpage (with namespace)'
+ },
+ {
input:
'http://host/w/index.php?title=Special:RecentChangesLinked/Moai',
output:
'http://host/w/index.php?title=Special:RecentChangesLinked&target=Moai',
message: 'Target as subpage in title
param'
},
{
+ input:
'http://host/w/index.php?title=Special:RecentChangesLinked/Moai/Sub1',
+ output:
'http://host/w/index.php?title=Special:RecentChangesLinked&target=Moai/Sub1',
+ message: 'Target as subpage in title
param also has a subpage'
+ },
+ {
+ input:
'http://host/w/index.php?title=Special:RecentChangesLinked/Category:Foo/Bar',
+ output:
'http://host/w/index.php?title=Special:RecentChangesLinked&target=Category:Foo/Bar',
+ message: 'Target as subpage in title
param also has a subpage (with namespace)'
+ },
+ {
input:
'http://host/wiki/Special:Watchlist',
output:
'http://host/wiki/Special:Watchlist',
message: 'No target specified'
--
To view, visit https://gerrit.wikimedia.org/r/398096
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id6909728f461a3cd687185abd304f2fac5dc6000
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.31.0-wmf.12
Gerrit-Owner: Sbisson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits