Add isRedirect (from an old Gerrit commit)
This commit is contained in:
@@ -29,12 +29,28 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this language a redirect to another language?
|
||||
* @param string language code
|
||||
* @return Target language code if it's a redirect or false if it's not
|
||||
*/
|
||||
$.uls.data.isRedirect = function( language ) {
|
||||
return ( $.uls.data.languages[language] !== undefined &&
|
||||
$.uls.data.languages[language].length === 1 ) ? $.uls.data.languages[language][0] : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the script of the language.
|
||||
* @param string language code
|
||||
* @return string
|
||||
*/
|
||||
$.uls.data.getScript = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getScript( target );
|
||||
}
|
||||
|
||||
return $.uls.data.languages[language][0];
|
||||
};
|
||||
|
||||
@@ -49,6 +65,12 @@
|
||||
* @return array|string 'UNKNOWN'
|
||||
*/
|
||||
$.uls.data.getRegions = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getRegions( target );
|
||||
}
|
||||
|
||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][1] ) || 'UNKNOWN';
|
||||
};
|
||||
|
||||
@@ -63,6 +85,12 @@
|
||||
* @return string
|
||||
*/
|
||||
$.uls.data.getAutonym = function( language ) {
|
||||
var target = $.uls.data.isRedirect( language );
|
||||
|
||||
if ( target ) {
|
||||
return $.uls.data.getAutonym( target );
|
||||
}
|
||||
|
||||
return ( $.uls.data.languages[language] && $.uls.data.languages[language][2] ) || language;
|
||||
};
|
||||
|
||||
|
||||
@@ -94,8 +94,8 @@
|
||||
"languages of region PA are selected correctly" );
|
||||
assert.deepEqual( $.uls.data.getLanguagesInRegions( ["AM", "WW"] ),
|
||||
[
|
||||
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr-cans", "cr-latn",
|
||||
"cr", "en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
||||
"akz", "arn", "aro", "ase", "avk", "ay", "cho", "chr", "chy", "cr", "cr-cans", "cr-latn",
|
||||
"en-ca", "en", "eo", "es-419", "es-formal", "es", "esu", "fr", "gcf", "gn",
|
||||
"guc", "haw", "ht", "ia", "ie", "ik", "ike-cans", "ike-latn", "io", "iu", "jam",
|
||||
"jbo", "kgp", "kl", "lad", "lfn", "mfe", "mic", "mus", "nah", "nl-informal", "nl",
|
||||
"nov", "nv", "pap", "pdc", "pdt", "ppl", "pt-br", "pt", "qu", "qug", "rap", "sei",
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
var languagesByScriptInAM = $.uls.data.getLanguagesByScriptInRegion( "AM" );
|
||||
assert.deepEqual( languagesByScriptInAM['Cans'], [
|
||||
"cr-cans", "cr", "ike-cans", "iu"
|
||||
"cr", "cr-cans", "ike-cans", "iu"
|
||||
], "correct languages in Cans in AM selected" );
|
||||
|
||||
assert.strictEqual( $.uls.data.getAutonym( 'pa' ), 'ਪੰਜਾਬੀ', 'Correct autonym of the Punjabi language was selected' );
|
||||
|
||||
Reference in New Issue
Block a user