From a2597599bc0a908618956ae82b9e464a27226adc Mon Sep 17 00:00:00 2001 From: Frank Yung-Fong Tang Date: Fri, 23 Feb 2024 14:33:12 -0800 Subject: [PATCH] Add test for ECMA402 PR846 the calenar name should be canonicalized Spec change https://github.com/tc39/ecma402/pull/846 --- .../Locale/prototype/calendar/canonicalize.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 test/intl402/Locale/prototype/calendar/canonicalize.js diff --git a/test/intl402/Locale/prototype/calendar/canonicalize.js b/test/intl402/Locale/prototype/calendar/canonicalize.js new file mode 100644 index 0000000000..91fcc0a6eb --- /dev/null +++ b/test/intl402/Locale/prototype/calendar/canonicalize.js @@ -0,0 +1,20 @@ +// Copyright 2024 Google Inc. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-apply-unicode-extension-to-tag +description: Checks canonicalize value of extension in ApplyUnicodeExtensionToTag. +info: | + ApplyUnicodeExtensionToTag + 1. Let _optionsUValue_ be the ASCII-lowercase of _optionsValue_. + 1. Set _value_ to the String value resulting from canonicalizing _optionsUValue_ as a value of key _key_ per Unicode Technical Standard #35 Part 1 Core, Annex C LocaleId Canonicalization Section 5 Canonicalizing Syntax, Processing LocaleIds. +features: [Intl.Locale] +---*/ + +const loc = new Intl.Locale('en', {calendar: 'islamicc'}); + +assert.sameValue(loc.toString(), "en-u-ca-islamic-civil", + "'islamicc' should be canonicalize to 'islamic-civil'"); + +assert.sameValue(loc.calendar, "islamic-civil", + "'islamicc' should be canonicalize to 'islamic-civil'");