| // Copyright 2012 Mozilla Corporation. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /** |
| * @description Tests that LookupSupportedLocales includes the default locale |
| * and doesn't include the "no linguistic content" locale. |
| * @author Norbert Lindenberg |
| */ |
| |
| $INCLUDE("testIntl.js"); |
| |
| testWithIntlConstructors(function (Constructor) { |
| // this test should work equally for both matching algorithms |
| ["lookup", "best fit"].forEach(function (matcher) { |
| var defaultLocale = new Constructor().resolvedOptions().locale; |
| var noLinguisticContent = "zxx"; |
| var supported = Constructor.supportedLocalesOf([defaultLocale, noLinguisticContent], |
| {localeMatcher: matcher}); |
| if (supported.indexOf(defaultLocale) === -1) { |
| $ERROR("SupportedLocales didn't return default locale with matcher " + matcher + "."); |
| } |
| if (supported.indexOf(noLinguisticContent) !== -1) { |
| $ERROR("SupportedLocales returned the \"no linguistic content\" locale with matcher " + matcher + "."); |
| } |
| if (supported.length > 1) { |
| $ERROR("SupportedLocales returned stray locales: " + supported.join(", ") + " with matcher " + matcher + "."); |
| } |
| }); |
| |
| return true; |
| }); |
| |