With the move to UTS 35 for language tag processing, the expected
canonicalisation results for "cel-gaulish" should now be consistent across
implementations.
The invalid 'numberingSystem' options test from RelativeTimeFormat covers a few
more cases, so let's reuse it for NumberFormat and DateTimeFormat.
While there, also add tests using non-ASCII inputs.
Fixes#2540
* Add test for different pattern based on calendar
* Add test for formatRangeToParts
* remove debug print
* fix typo
* fix typo
* address review feedback
* address review feedback
* change the map and use string template
* rewrite maps and use string template
* add tests for ListFormat
address https://github.com/tc39/test262/issues/2386
* add test for formatToParts(undefined)
* test GetIterator throw error
* test formatToParts while GetIterator throws error
* test formatToParts while step_iterator throw
* test format while iteratorStep throw
* fix object name
* test format while IteratorValue throws
* test formatToParts while iteratorValue throws
* test formatToParts while iteratorClose call return
* check format with iteratorClose calls return
The values defined by the referenced files are not used by these tests.
This makes their inclusion superfluous, which needlessly increases the
time to execute the tests and may confuse some readers.
* Rename "Object/proto-from-ctor.js" test
* Add missing "Symbol" features
* Add Intl.Collator test
* Add Intl.DateTimeFormat test
* Add Intl.NumberFormat test
* Add Intl.PluralRules test
* Unified Intl.NumberFormat: Test compact notation with various locales.
* Unified Intl.NumberFormat: Test compactDisplay constructor option.
* Unified Intl.NumberFormat: Test signDisplay constructor option.
* Unified Intl.NumberFormat: Test signDisplay with various locales.
* Unified Intl.NumberFormat: Test signDisplay with accounting currencySign in various locales.
* Unified Intl.NumberFormat: Test engineering and scientific notations in various locales.
* Unified Intl.NumberFormat: Test unit handling.
* Unified Intl.NumberFormat: Test notation constructor option.
* Unified Intl.NumberFormat: Test engineering and scientific notations with negative exponents.
* Unified Intl.NumberFormat: Test near-zero arguments with signDisplay.
* Unified Intl.NumberFormat: Test units.
* Unified Intl.NumberFormat: Test unit arguments.
* Unified Intl.NumberFormat: Add a generic test for unit arguments.
* Unified Intl.NumberFormat: Test the unitDisplay argument.
These two slipped through the cracks in #2097:
test/intl402/Intl/getCanonicalLocales/non-iana-canon.js
- Variant subtag canonicalisation is currrently not allowed.
test/intl402/Locale/getters.js
- Only the first "loc.caseFirst" test in this file was updated in #2097.
intl402/Intl/getCanonicalLocales/canonicalized-tags.js
- Sign languages are no longer canonicalised.
- Variant subtags are sorted alphabetically.
intl402/Intl/getCanonicalLocales/preferred-grandfathered.js
- Canonical form of "cel-gaulish" is "xtg-x-cel-gaulish".
intl402/Intl/getCanonicalLocales/preferred-variant.js
- Variant subtags are no longer canonicalised.
constructor-non-iana-canon.js
- Variant subtag canonicalisation is currently no longer present.
constructor-options-region-valid.js
- Digit region codes are now canonicalised.
constructor-tag.js
- Variant subtags are now sorted alphabetically.
likely-subtags-grandfathered.js
- "cmn" is now canonicalised to "zh".
This test started failing when updating to ICU 64, because ICU supports "zh"
and "zh-Hans-CN", but not explicitly also "zh-Hans", which is required for this
test to pass. The same kind of error is reproducible with ICU <64 when "Guru"
is added to the list of script codes in 'testIntl.js', because ICU supports
"pa-Guru-IN", but "pa-IN" isn't explicitly supported, too.
So, change this test to also check 'byFallback' to see if a locale is supported.
Drive-by change:
- Modernise the test to make it more readable how subtags are combined.
- Also add "419" to the list of region codes to cover the digit region syntax.