diff --git a/test/intl402/Intl/getCanonicalLocales/non-iana-canon.js b/test/intl402/Intl/getCanonicalLocales/non-iana-canon.js new file mode 100644 index 0000000000000000000000000000000000000000..2a0e127337bad1ec90e09c6d44765fa2a1bc5778 --- /dev/null +++ b/test/intl402/Intl/getCanonicalLocales/non-iana-canon.js @@ -0,0 +1,37 @@ +// Copyright 2018 André Bargull; Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +// Slip from intl402/Locale/constructor-non-iana-canon.js +/*--- +esid: sec-intl.getcanonicallocales +description: > + Verifies canonicalization, of specific tags. +info: | + ApplyOptionsToTag( tag, options ) + 10. Return CanonicalizeLanguageTag(tag). +---*/ + +// Test some language tags where we know that either CLDR or ICU produce +// different results compared to the canonicalization specified in RFC 5646. +var testData = [ + { + tag: "mo", + canonical: "ro", + }, + { + tag: "hy-arevela", + canonical: "hy", + }, + { + tag: "hy-arevmda", + canonical: "hyw", + }, +]; + +for (const {tag, canonical = tag} of testData) { + assert.sameValue( + Intl.getCanonicalLocales(tag)[0], + canonical, + 'The value of Intl.getCanonicalLocales(tag)[0] equals the value of `canonical`' + ); +}