browser.js |
|
0 |
canonicalized-tags.js |
---
esid: sec-intl.getcanonicallocales
description: >
Call Intl.getCanonicalLocales function with valid language tags.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
a. Let Pk be ToString(k).
b. Let kPresent be ? HasProperty(O, Pk).
c. If kPresent is true, then
i. Let kValue be ? Get(O, Pk).
...
iii. Let tag be ? ToString(kValue).
...
v. Let canonicalizedTag be CanonicalizeLanguageTag(tag).
vi. If canonicalizedTag is not an element of seen, append canonicalizedTag as the last element of seen.
...
includes: [testIntl.js]
--- |
2134 |
canonicalized-unicode-ext-seq.js |
---
esid: sec-intl.getcanonicallocales
description: >
Implementations are allowed to canonicalize extension subtag sequences.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. Let canonicalizedTag be CanonicalizeLanguageTag(tag).
...
6.2.3 CanonicalizeLanguageTag (locale)
The specifications for extensions to BCP 47 language tags, such as
RFC 6067, may include canonicalization rules for the extension subtag
sequences they define that go beyond the canonicalization rules of
RFC 5646 section 4.5. Implementations are allowed, but not required,
to apply these additional rules.
--- |
1386 |
complex-language-subtag-replacement.js |
---
esid: sec-intl.getcanonicallocales
description: >
Assert non-simple language subtag replacements work as expected.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
- Replace aliases in the unicode_language_id and tlang (if any) using the following process:
- If the language subtag matches the type attribute of a languageAlias element in
Supplemental Data, replace the language subtag with the replacement value.
1. If there are additional subtags in the replacement value, add them to the result,
but only if there is no corresponding subtag already in the tag.
includes: [testIntl.js]
--- |
2072 |
complex-region-subtag-replacement.js |
---
esid: sec-intl.getcanonicallocales
description: >
Assert non-simple region subtag replacements work as expected.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
- Replace aliases in the unicode_language_id and tlang (if any) using the following process:
- If the region subtag matches the type attribute of a territoryAlias element in
Supplemental Data, replace the language subtag with the replacement value, as follows:
1. If there is a single territory in the replacement, use it.
2. If there are multiple territories:
1. Look up the most likely territory for the base language code (and script, if there is one).
2. If that likely territory is in the list, use it.
3. Otherwise, use the first territory in the list.
includes: [testIntl.js]
--- |
4419 |
descriptor.js |
---
esid: sec-intl.getcanonicallocales
description: >
Intl.getCanonicalLocales property attributes.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
17 ECMAScript Standard Built-in Objects:
Every other data property described in clauses 18 through 26 and in
Annex B.2 has the attributes { [[Writable]]: true, [[Enumerable]]: false,
[[Configurable]]: true } unless otherwise specified.
includes: [propertyHelper.js]
--- |
707 |
duplicates.js |
---
esid: sec-intl.getcanonicallocales
description: Tests the getCanonicalLocales function for duplicate locales scenario.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [compareArray.js]
--- |
670 |
elements-not-reordered.js |
---
esid: sec-intl.getcanonicallocales
description: >
Language tags are not reordered.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
vi. If canonicalizedTag is not an element of seen, append canonicalizedTag as the last element of seen.
...
--- |
853 |
error-cases.js |
---
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]
--- |
901 |
get-locale.js |
---
esid: sec-intl.getcanonicallocales
description: Test Intl.getCanonicalLocales for step 7.c.i.
info: |
9.2.1 CanonicalizeLocaleList (locales)
7. Repeat, while k < len.
c. If kPresent is true, then
i. Let kValue be ? Get(O, Pk).
--- |
631 |
getCanonicalLocales.js |
---
esid: sec-intl.getcanonicallocales
description: Property type and descriptor.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [propertyHelper.js]
--- |
644 |
grandfathered.js |
---
esid: sec-intl.getcanonicallocales
description: >
Verifies canonicalization of specific tags.
--- |
751 |
has-property.js |
---
esid: sec-intl.getcanonicallocales
description: Test Intl.getCanonicalLocales.name for step 7.b.
info: |
9.2.1 CanonicalizeLocaleList (locales)
7. Repeat, while k < len.
b. Let kPresent be HasProperty(O, Pk).
features: [Proxy]
--- |
670 |
invalid-tags.js |
---
esid: sec-intl.getcanonicallocales
description: >
Throws a RangeError if the language tag is invalid.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
...
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
iv. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
...
includes: [testIntl.js]
--- |
915 |
length.js |
---
esid: sec-intl.getcanonicallocales
description: Intl.getCanonicalLocales.length.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [propertyHelper.js]
--- |
544 |
Locale-object.js |
---
esid: sec-intl.getcanonicallocales
description: Tests for Locale objects in the argument to getCanonicalLocales
info: |
CanonicalizeLocaleList ( locales )
7. c. iii. If Type(kValue) is Object and kValue has an [[InitializedLocale]] internal slot, then
1. Let tag be kValue.[[Locale]].
includes: [compareArray.js]
features: [Intl.Locale]
--- |
785 |
locales-is-not-a-string.js |
---
esid: sec-intl.getcanonicallocales
description: Tests for scenario where locales is not a string
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [compareArray.js]
features: [Symbol]
--- |
844 |
main.js |
---
esid: sec-intl.getcanonicallocales
description: Tests for existance and behavior of Intl.getCanonicalLocales
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [compareArray.js]
--- |
817 |
name.js |
---
esid: sec-intl.getcanonicallocales
description: Intl.getCanonicalLocales.name value and descriptor.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [propertyHelper.js]
--- |
581 |
non-iana-canon.js |
---
esid: sec-intl.getcanonicallocales
description: >
Verifies canonicalization, of specific tags.
info: |
ApplyOptionsToTag( tag, options )
10. Return CanonicalizeLanguageTag(tag).
--- |
2189 |
overriden-arg-length.js |
---
esid: sec-intl.getcanonicallocales
description: Test Intl.getCanonicalLocales for step 5.
info: |
9.2.1 CanonicalizeLocaleList (locales)
5. Let len be ? ToLength(? Get(O, "length")).
includes: [compareArray.js]
features: [Symbol]
--- |
2199 |
overriden-push.js |
---
esid: sec-intl.getcanonicallocales
description: Tests the getCanonicalLocales function for overridden Array.push().
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [compareArray.js]
--- |
624 |
preferred-grandfathered.js |
---
esid: sec-intl.getcanonicallocales
description: >
Call Intl.getCanonicalLocales function with grandfathered language tags.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. Let canonicalizedTag be CanonicalizeLanguageTag(tag).
...
6.2.3 CanonicalizeLanguageTag ( locale )
The CanonicalizeLanguageTag abstract operation returns the canonical and case-regularized form
of the locale argument (which must be a String value that is a structurally valid Unicode
BCP 47 Locale Identifier as verified by the IsStructurallyValidLanguageTag abstract operation).
A conforming implementation shall take the steps specified in the “BCP 47 Language Tag to
Unicode BCP 47 Locale Identifier” algorithm, from Unicode Technical Standard #35 LDML
§ 3.3.1 BCP 47 Language Tag Conversion.
includes: [testIntl.js]
--- |
2914 |
preferred-variant.js |
---
esid: sec-intl.getcanonicallocales
description: >
Call Intl.getCanonicalLocales function with grandfathered language tags.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. Let canonicalizedTag be CanonicalizeLanguageTag(tag).
...
6.2.3 CanonicalizeLanguageTag ( locale )
The CanonicalizeLanguageTag abstract operation returns the canonical and case-regularized
form of the locale argument (which must be a String value that is a structurally valid
BCP 47 language tag as verified by the IsStructurallyValidLanguageTag abstract operation).
A conforming implementation shall take the steps specified in RFC 5646 section 4.5, or
successor, to bring the language tag into canonical form, and to regularize the case of
the subtags. Furthermore, a conforming implementation shall not take the steps to bring
a language tag into "extlang form", nor shall it reorder variant subtags.
The specifications for extensions to BCP 47 language tags, such as RFC 6067, may include
canonicalization rules for the extension subtag sequences they define that go beyond the
canonicalization rules of RFC 5646 section 4.5. Implementations are allowed, but not
required, to apply these additional rules.
includes: [testIntl.js]
--- |
2503 |
returned-object-is-an-array.js |
---
esid: sec-intl.getcanonicallocales
description: Tests that the value returned by getCanonicalLocales is an Array.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
--- |
877 |
returned-object-is-mutable.js |
---
esid: sec-intl.getcanonicallocales
description: >
Tests that the value returned by getCanonicalLocales is a mutable array.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [propertyHelper.js]
--- |
1148 |
shell.js |
|
0 |
to-string.js |
---
esid: sec-intl.getcanonicallocales
description: Test Intl.getCanonicalLocales.name for step 7.c.iii
info: |
9.2.1 CanonicalizeLocaleList (locales)
7. Repeat, while k < len.
c. If kPresent is true, then
iii. Let tag be ? ToString(kValue).
includes: [compareArray.js]
--- |
634 |
transformed-ext-canonical.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test canonicalisation within transformed extension subtags.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
includes: [testIntl.js]
--- |
1822 |
transformed-ext-invalid.js |
---
esid: sec-intl.getcanonicallocales
description: >
A RangeError is thrown when a language tag includes an invalid transformed extension subtag.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
...
includes: [testIntl.js]
--- |
2007 |
transformed-ext-valid.js |
---
esid: sec-intl.getcanonicallocales
description: >
No RangeError is thrown when a language tag includes a valid transformed extension subtag.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
includes: [testIntl.js]
--- |
2142 |
unicode-ext-canonicalize-calendar.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "ca" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
includes: [testIntl.js]
--- |
2409 |
unicode-ext-canonicalize-col-strength.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "ks" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
includes: [testIntl.js]
--- |
2405 |
unicode-ext-canonicalize-measurement-system.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "ms" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
includes: [testIntl.js]
--- |
1867 |
unicode-ext-canonicalize-region.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "rg" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
Replace aliases in special key values:
If there is an 'sd' or 'rg' key, replace any subdivision alias in its value in the same way,
using subdivisionAlias data.
includes: [testIntl.js]
--- |
2494 |
unicode-ext-canonicalize-subdivision.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "sd" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
Replace aliases in special key values:
If there is an 'sd' or 'rg' key, replace any subdivision alias in its value in the same way,
using subdivisionAlias data.
includes: [testIntl.js]
--- |
2788 |
unicode-ext-canonicalize-timezone.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtag canonicalisation for the "tz" extension key.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
includes: [testIntl.js]
--- |
2744 |
unicode-ext-canonicalize-yes-to-true.js |
---
esid: sec-intl.getcanonicallocales
description: >
"kb", "kc", "kh", "kk", and "kn" Unicode extension keys canonicalise "yes" to "true".
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Use the bcp47 data to replace keys, types, tfields, and tvalues by their canonical forms.
See Section 3.6.4 U Extension Data Files) and Section 3.7.1 T Extension Data Files. The
aliases are in the alias attribute value, while the canonical is in the name attribute value.
UTS 35, §3.2.1 Canonical Unicode Locale Identifiers
Any type or tfield value "true" is removed.
includes: [testIntl.js]
--- |
2881 |
unicode-ext-key-with-digit.js |
---
esid: sec-intl.getcanonicallocales
description: >
Test Unicode extension subtags where the ukey subtag contains a digit.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
9.2.1 CanonicalizeLocaleList (locales)
...
7. Repeat, while k < len
...
c. If kPresent is true, then
...
v. If IsStructurallyValidLanguageTag(tag) is false, throw a RangeError exception.
vi. Let canonicalizedTag be CanonicalizeUnicodeLocaleId(tag).
...
includes: [testIntl.js]
--- |
1661 |
weird-cases.js |
---
esid: sec-intl.getcanonicallocales
description: Tests the getCanonicalLocales function for weird tags.
info: |
8.2.1 Intl.getCanonicalLocales (locales)
1. Let ll be ? CanonicalizeLocaleList(locales).
2. Return CreateArrayFromList(ll).
includes: [compareArray.js]
--- |
658 |