mw.jqueryMsg: Add support for {{PAGENAME}} and {{PAGENAMEE}}
authorBartosz Dziewoński <matma.rex@gmail.com>
Thu, 23 Jun 2016 08:48:44 +0000 (10:48 +0200)
committerBartosz Dziewoński <matma.rex@gmail.com>
Thu, 23 Jun 2016 08:48:44 +0000 (10:48 +0200)
Bug: T115259
Change-Id: I40146e9db5e0b1c171a0fb43b68e28f83c8a590a

resources/src/mediawiki/mediawiki.jqueryMsg.js
tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js

index 50fef14..44b9117 100644 (file)
@@ -15,6 +15,8 @@
                slice = Array.prototype.slice,
                parserDefaults = {
                        magic: {
+                               PAGENAME: mw.config.get( 'wgPageName' ),
+                               PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
                                SITENAME: mw.config.get( 'wgSiteName' )
                        },
                        // Whitelist for allowed HTML elements in wikitext.
index aa68bb2..7133039 100644 (file)
@@ -1,6 +1,6 @@
 ( function ( mw, $ ) {
        var formatText, formatParse, formatnumTests, specialCharactersPageName, expectedListUsers,
-               expectedListUsersSitename, expectedEntrypoints,
+               expectedListUsersSitename, expectedLinkPagenamee, expectedEntrypoints,
                mwLanguageCache = {},
                hasOwn = Object.hasOwnProperty;
 
@@ -16,6 +16,8 @@
                        this.parserDefaults = mw.jqueryMsg.getParserDefaults();
                        mw.jqueryMsg.setParserDefaults( {
                                magic: {
+                                       PAGENAME: '2 + 2',
+                                       PAGENAMEE: mw.util.wikiUrlencode( '2 + 2' ),
                                        SITENAME: 'Wiki'
                                }
                        } );
@@ -25,6 +27,7 @@
                        expectedListUsers = '注册<a title="Special:ListUsers" href="/wiki/Special:ListUsers">用户</a>';
                        expectedListUsersSitename = '注册<a title="Special:ListUsers" href="/wiki/Special:ListUsers">用户' +
                                'Wiki</a>';
+                       expectedLinkPagenamee = '<a href="https://example.org/wiki/Foo?bar=baz#val/2_%2B_2">Test</a>';
 
                        expectedEntrypoints = '<a href="https://www.mediawiki.org/wiki/Manual:index.php">index.php</a>';
 
@@ -77,6 +80,7 @@
 
                        'jquerymsg-test-statistics-users': '注册[[Special:ListUsers|用户]]',
                        'jquerymsg-test-statistics-users-sitename': '注册[[Special:ListUsers|用户{{SITENAME}}]]',
+                       'jquerymsg-test-link-pagenamee': '[https://example.org/wiki/Foo?bar=baz#val/{{PAGENAMEE}} Test]',
 
                        'jquerymsg-test-version-entrypoints-index-php': '[https://www.mediawiki.org/wiki/Manual:index.php index.php]',
 
                process( tasks );
        } );
 
-       QUnit.test( 'Links', 14, function ( assert ) {
+       QUnit.test( 'Links', 15, function ( assert ) {
                var testCases,
                        expectedDisambiguationsText,
                        expectedMultipleBars,
                        'Piped wikilink with parser function in the text'
                );
 
+               assert.htmlEqual(
+                       formatParse( 'jquerymsg-test-link-pagenamee' ),
+                       expectedLinkPagenamee,
+                       'External link with parser function in the URL'
+               );
+
                testCases = [
                        [
                                'extlink-html-full',