| // Copyright 2016 Mozilla Corporation. All rights reserved. |
| // This code is governed by the license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-intl.getcanonicallocales |
| description: Tests the getCanonicalLocales function for error tags. |
| info: | |
| 8.2.1 Intl.getCanonicalLocales (locales) |
| 1. Let ll be ? CanonicalizeLocaleList(locales). |
| 2. Return CreateArrayFromList(ll). |
| features: [Symbol] |
| ---*/ |
| |
| var rangeErrorCases = |
| [ |
| "en-us-", |
| "-en-us", |
| "en-us-en-us", |
| "--", |
| "-", |
| "", |
| "-e-" |
| ]; |
| |
| rangeErrorCases.forEach(function(re) { |
| assert.throws(RangeError, function() { |
| Intl.getCanonicalLocales(re); |
| }); |
| }); |
| |
| var typeErrorCases = |
| [ |
| null, |
| [null], |
| [undefined], |
| [true], |
| [NaN], |
| [2], |
| [Symbol('foo')] |
| ]; |
| |
| typeErrorCases.forEach(function(te) { |
| assert.throws(TypeError, function() { |
| Intl.getCanonicalLocales(te); |
| }); |
| }); |