summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>2021-12-13 08:52:16 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2021-12-13 08:52:16 +0000
commitbf7621acd85cd172d292518c0284d6c3f83e1b1a (patch)
treea613a8ee3b85cb74f7b44e73cc341515fcb4e1e5
parent4e43885ccbded65ae0cc92a785eb854501dfaaaf (diff)
parent9ed16ab91c2a7081f201c7118954961a31794553 (diff)
Merge "mediawiki.jqueryMsg: Handle SERVERNAME"
-rw-r--r--resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js3
-rw-r--r--tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js23
2 files changed, 22 insertions, 4 deletions
diff --git a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
index ca10ec8e7d5e..922d6ee7790a 100644
--- a/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
+++ b/resources/src/mediawiki.jqueryMsg/mediawiki.jqueryMsg.js
@@ -17,7 +17,8 @@ var slice = Array.prototype.slice,
// Magic words and their expansions. Server-side data is added to this below.
magic: {
PAGENAME: mw.config.get( 'wgPageName' ),
- PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) )
+ PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
+ SERVERNAME: mw.config.get( 'wgServerName' )
},
// Whitelist for allowed HTML elements in wikitext.
// Self-closing tags are not currently supported.
diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
index 83c21b3fd770..0ee74dd66fe5 100644
--- a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
+++ b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js
@@ -23,9 +23,13 @@
this.parserDefaults = mw.jqueryMsg.getParserDefaults();
mw.jqueryMsg.setParserDefaults( {
magic: {
- PAGENAME: '2 + 2',
- PAGENAMEE: mw.util.wikiUrlencode( '2 + 2' ),
- SITENAME: 'Wiki'
+ SITENAME: 'Wiki',
+ // Repeat parserDefaults.magic from mediawiki.jqueryMsg.js. The original
+ // runs before the mock config is set up.
+ PAGENAME: mw.config.get( 'wgPageName' ),
+ PAGENAMEE: mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ),
+ SERVERNAME: mw.config.get( 'wgServerName' )
+
}
} );
@@ -51,6 +55,8 @@
mw.jqueryMsg.setParserDefaults( this.parserDefaults );
},
config: {
+ wgPageName: '2 + 2',
+ wgServerName: 'wiki.xyz',
wgArticlePath: '/wiki/$1',
wgNamespaceIds: {
template: 10,
@@ -340,6 +346,17 @@
assert.strictEqual( formatParse( 'grammar-msg-wrong-syntax' ), 'Przeszukaj ', 'Grammar Test with wrong grammar template syntax' );
} );
+ QUnit.test( 'Variables', function ( assert ) {
+ mw.messages.set( 'variables-pagename', '{{PAGENAME}}' );
+ assert.strictEqual( formatParse( 'variables-pagename' ), '2 + 2', 'PAGENAME' );
+ mw.messages.set( 'variables-pagenamee', '{{PAGENAMEE}}' );
+ assert.strictEqual( formatParse( 'variables-pagenamee' ), mw.util.wikiUrlencode( '2 + 2' ), 'PAGENAMEE' );
+ mw.messages.set( 'variables-sitename', '{{SITENAME}}' );
+ assert.strictEqual( formatParse( 'variables-sitename' ), 'Wiki', 'SITENAME' );
+ mw.messages.set( 'variables-servername', '{{SERVERNAME}}' );
+ assert.strictEqual( formatParse( 'variables-servername' ), 'wiki.xyz', 'SERVERNAME' );
+ } );
+
QUnit.test( 'Bi-di', function ( assert ) {
assert.strictEqual( formatParse( 'bidi-msg', 'Bob' ), 'Welcome \u202ABob\u202C!', 'Bidi test (LTR)' );
assert.strictEqual( formatParse( 'bidi-msg', 'בוב' ), 'Welcome \u202Bבוב\u202C!', 'Bidi test (RTL)' );