diff options
Diffstat (limited to 'js/src/tests/non262/Intl/unicode-bcp47-locale-ids-extlangs.js')
-rw-r--r-- | js/src/tests/non262/Intl/unicode-bcp47-locale-ids-extlangs.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/non262/Intl/unicode-bcp47-locale-ids-extlangs.js b/js/src/tests/non262/Intl/unicode-bcp47-locale-ids-extlangs.js new file mode 100644 index 0000000000..7e9aae5519 --- /dev/null +++ b/js/src/tests/non262/Intl/unicode-bcp47-locale-ids-extlangs.js @@ -0,0 +1,21 @@ +// |reftest| skip-if(!this.hasOwnProperty("Intl")) + +// Unicode BCP 47 locale identifiers don't support extlang subtags. +const invalid = [ + // Two letter language code followed by extlang subtags. + "en-abc", + "en-abc-def", + "en-abc-def-ghi", + + // Three letter language code followed by extlang subtags. + "und-abc", + "und-abc-def", + "und-abc-def-ghi", +]; + +for (let locale of invalid) { + assertThrowsInstanceOf(() => Intl.getCanonicalLocales(locale), RangeError); +} + +if (typeof reportCompare === "function") + reportCompare(true, true); |