Remove caching of getLocaleSupportInfo() return value

This commit is contained in:
André Bargull 2017-12-21 12:08:11 -08:00 committed by Rick Waldron
parent 123259733b
commit 017fa6d55f
2 changed files with 3 additions and 30 deletions

View File

@ -33,26 +33,6 @@ function testWithIntlConstructors(f) {
}
/**
* Returns the name of the given constructor object, which must be one of
* Intl.Collator, Intl.NumberFormat, or Intl.DateTimeFormat.
* @param {object} Constructor a constructor
* @return {string} the name of the constructor
*/
function getConstructorName(Constructor) {
switch (Constructor) {
case Intl.Collator:
return "Collator";
case Intl.NumberFormat:
return "NumberFormat";
case Intl.DateTimeFormat:
return "DateTimeFormat";
default:
$ERROR("test internal error: unknown Constructor");
}
}
/**
* Taints a named data property of the given object by installing
* a setter that throws an exception.
@ -121,7 +101,6 @@ function taintArray() {
var languages = ["zh", "es", "en", "hi", "ur", "ar", "ja", "pa"];
var scripts = ["Latn", "Hans", "Deva", "Arab", "Jpan", "Hant"];
var countries = ["CN", "IN", "US", "PK", "JP", "TW", "HK", "SG"];
var localeSupportInfo = {};
/**
@ -134,11 +113,6 @@ var localeSupportInfo = {};
* unsupported: array of unsupported language tags
*/
function getLocaleSupportInfo(Constructor) {
var constructorName = getConstructorName(Constructor);
if (localeSupportInfo[constructorName] !== undefined) {
return localeSupportInfo[constructorName];
}
var allTags = [];
var i, j, k;
var language, script, country;
@ -174,13 +148,11 @@ function getLocaleSupportInfo(Constructor) {
}
}
localeSupportInfo[constructorName] = {
return {
supported: supported,
byFallback: byFallback,
unsupported: unsupported
};
return localeSupportInfo[constructorName];
}

View File

@ -11,9 +11,10 @@ includes: [testIntl.js]
---*/
testWithIntlConstructors(function (Constructor) {
var info = getLocaleSupportInfo(Constructor);
// this test should work equally for both matching algorithms
["lookup", "best fit"].forEach(function (matcher) {
var info = getLocaleSupportInfo(Constructor);
var allLocales = info.supported.concat(info.byFallback, info.unsupported);
allLocales.forEach(function (locale) {
var validExtension = "-u-co-phonebk-nu-latn";