From: Fomafix Date: Wed, 4 Feb 2015 07:48:52 +0000 (+0000) Subject: mediawiki.language.init: Ignore case of language code X-Git-Tag: 1.31.0-rc.0~12504^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22auteur_infos%22%2C%22id_auteur=%24connect_id_auteur%22%29%20.%20%22?a=commitdiff_plain;h=a92c235d1da03fa2811abe38ee8b579f4e4d52c8;p=lhc%2Fweb%2Fwiklou.git mediawiki.language.init: Ignore case of language code This allows capitalization suggested by BCP 47 without the risk of duplicate entries. Change-Id: I0ebdead5440862c087920fa93e85aeb47464272e --- diff --git a/resources/src/mediawiki.language/mediawiki.language.init.js b/resources/src/mediawiki.language/mediawiki.language.init.js index df95d75148..b3765c85e7 100644 --- a/resources/src/mediawiki.language/mediawiki.language.init.js +++ b/resources/src/mediawiki.language/mediawiki.language.init.js @@ -54,6 +54,7 @@ */ getData: function ( langCode, dataKey ) { var langData = mw.language.data; + langCode = langCode.toLowerCase(); if ( langData && langData[langCode] instanceof mw.Map ) { return langData[langCode].get( dataKey ); } @@ -71,6 +72,7 @@ */ setData: function ( langCode, dataKey, value ) { var langData = mw.language.data; + langCode = langCode.toLowerCase(); if ( !( langData[langCode] instanceof mw.Map ) ) { langData[langCode] = new mw.Map(); } diff --git a/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js b/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js index 16f90df8cf..a068846a9d 100644 --- a/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js +++ b/tests/qunit/suites/resources/mediawiki/mediawiki.language.test.js @@ -11,10 +11,12 @@ } } ) ); - QUnit.test( 'mw.language getData and setData', 2, function ( assert ) { + QUnit.test( 'mw.language getData and setData', 3, function ( assert ) { mw.language.setData( 'en', 'testkey', 'testvalue' ); assert.equal( mw.language.getData( 'en', 'testkey' ), 'testvalue', 'Getter setter test for mw.language' ); assert.equal( mw.language.getData( 'en', 'invalidkey' ), undefined, 'Getter setter test for mw.language with invalid key' ); + mw.language.setData( 'en-us', 'testkey', 'testvalue' ); + assert.equal( mw.language.getData( 'en-US', 'testkey' ), 'testvalue', 'Case insensitive test for mw.language' ); } ); QUnit.test( 'mw.language.commafy test', 9, function ( assert ) {