From 32bcaa960b4ee106c2d91ed07ce00bb204a10344 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 29 Sep 2015 12:06:33 -0700 Subject: [PATCH] mediawiki.jqueryMsg: Update tests to mock magic.SITENAME Change-Id: I75f92986dc0e44c85e592ab0bb969431993259fd --- resources/src/mediawiki/mediawiki.jqueryMsg.js | 17 +++++++++++++---- .../mediawiki/mediawiki.jqueryMsg.test.js | 15 +++++++++++---- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.jqueryMsg.js b/resources/src/mediawiki/mediawiki.jqueryMsg.js index bf0884b681..2fe831e448 100644 --- a/resources/src/mediawiki/mediawiki.jqueryMsg.js +++ b/resources/src/mediawiki/mediawiki.jqueryMsg.js @@ -53,7 +53,6 @@ // applies to direct calls to jqueryMsg. The default for mediawiki.js itself // is 'text', including when it uses jqueryMsg. format: 'parse' - }; /** @@ -162,9 +161,19 @@ * @param {Object} data */ mw.jqueryMsg.setParserDefaults = function ( data ) { - if ( data.allowedHtmlElements ) { - parserDefaults.allowedHtmlElements = data.allowedHtmlElements; - } + $.extend( parserDefaults, data ); + }; + + /** + * Get current parser defaults. + * + * Primarily used for the unit test. Returns a copy. + * + * @private + * @return {Object} + */ + mw.jqueryMsg.getParserDefaults = function () { + return $.extend( {}, parserDefaults ); }; /** diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js index f65ff169bf..94731377f5 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.jqueryMsg.test.js @@ -13,12 +13,18 @@ QUnit.module( 'mediawiki.jqueryMsg', QUnit.newMwEnvironment( { setup: function () { this.originalMwLanguage = mw.language; + this.parserDefaults = mw.jqueryMsg.getParserDefaults(); + mw.jqueryMsg.setParserDefaults( { + magic: { + SITENAME: 'Wiki' + } + } ); specialCharactersPageName = '"Who" wants to be a millionaire & live on \'Exotic Island\'?'; expectedListUsers = '注册用户'; expectedListUsersSitename = '注册用户' + - mw.config.get( 'wgSiteName' ) + ''; + 'Wiki'; expectedEntrypoints = 'index.php'; @@ -32,6 +38,7 @@ }, teardown: function () { mw.language = this.originalMwLanguage; + mw.jqueryMsg.setParserDefaults( this.parserDefaults ); }, config: { wgArticlePath: '/wiki/$1', @@ -229,7 +236,7 @@ assert.equal( formatParse( 'plural-msg', 1 ), 'Found 1 item', 'Singular test for english' ); assert.equal( formatParse( 'plural-msg', 2 ), 'Found 2 items', 'Plural test for english' ); assert.equal( formatParse( 'plural-msg-explicit-forms-nested', 6 ), 'Found 6 results', 'Plural message with explicit plural forms' ); - assert.equal( formatParse( 'plural-msg-explicit-forms-nested', 0 ), 'Found no results in ' + mw.config.get( 'wgSiteName' ), 'Plural message with explicit plural forms, with nested {{SITENAME}}' ); + assert.equal( formatParse( 'plural-msg-explicit-forms-nested', 0 ), 'Found no results in Wiki', 'Plural message with explicit plural forms, with nested {{SITENAME}}' ); assert.equal( formatParse( 'plural-msg-explicit-forms-nested', 1 ), 'Found 1 result', 'Plural message with explicit plural forms with placeholder nested' ); } ); @@ -327,7 +334,7 @@ } ); QUnit.test( 'Grammar', 2, function ( assert ) { - assert.equal( formatParse( 'grammar-msg' ), 'Przeszukaj ' + mw.config.get( 'wgSiteName' ), 'Grammar Test with sitename' ); + assert.equal( formatParse( 'grammar-msg' ), 'Przeszukaj Wiki', 'Grammar Test with sitename' ); mw.messages.set( 'grammar-msg-wrong-syntax', 'Przeszukaj {{GRAMMAR:grammar_case_xyz}}' ); assert.equal( formatParse( 'grammar-msg-wrong-syntax' ), 'Przeszukaj ', 'Grammar Test with wrong grammar template syntax' ); @@ -575,7 +582,7 @@ assertBothModes( assert, [ 'plural-msg', 5 ], 'Found 5 items', 'plural is resolved' ); - assertBothModes( assert, [ 'grammar-msg' ], 'Przeszukaj ' + mw.config.get( 'wgSiteName' ), 'grammar is resolved' ); + assertBothModes( assert, [ 'grammar-msg' ], 'Przeszukaj Wiki', 'grammar is resolved' ); mw.config.set( 'wgUserLanguage', 'en' ); assertBothModes( assert, [ 'formatnum-msg', '987654321.654321' ], '987,654,321.654', 'formatnum is resolved' ); -- 2.20.1