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 <sbis...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits