| // Copyright 2020 Google Inc, Igalia S.L. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-initializedatetimeformat |
| description: > |
| Tests that the options numberingSystem and calendar are mapped |
| to lower case properly. |
| author: Caio Lima |
| ---*/ |
| |
| let defaultLocale = new Intl.DateTimeFormat().resolvedOptions().locale; |
| |
| let supportedNumberingSystems = ["latn", "arab"].filter(nu => |
| new Intl.DateTimeFormat(defaultLocale + "-u-nu-" + nu) |
| .resolvedOptions().numberingSystem === nu |
| ); |
| |
| if (supportedNumberingSystems.includes("latn")) { |
| let dateTimeFormat = new Intl.DateTimeFormat(defaultLocale + "-u-nu-lATn"); |
| assert.sameValue(dateTimeFormat.resolvedOptions().numberingSystem, "latn", "Numbering system option should be in lower case"); |
| } |
| |
| if (supportedNumberingSystems.includes("arab")) { |
| let dateTimeFormat = new Intl.DateTimeFormat(defaultLocale + "-u-nu-Arab"); |
| assert.sameValue(dateTimeFormat.resolvedOptions().numberingSystem, "arab", "Numbering system option should be in lower case"); |
| } |
| |
| let supportedCalendars = ["gregory", "chinese"].filter(ca => |
| new Intl.DateTimeFormat(defaultLocale + "-u-ca-" + ca) |
| .resolvedOptions().calendar === ca |
| ); |
| |
| if (supportedCalendars.includes("gregory")) { |
| let dateTimeFormat = new Intl.DateTimeFormat(defaultLocale + "-u-ca-Gregory"); |
| assert.sameValue(dateTimeFormat.resolvedOptions().calendar, "gregory", "Calendar option should be in lower case"); |
| } |
| |
| if (supportedCalendars.includes("chinese")) { |
| let dateTimeFormat = new Intl.DateTimeFormat(defaultLocale + "-u-ca-CHINESE"); |
| assert.sameValue(dateTimeFormat.resolvedOptions().calendar, "chinese", "Calendar option should be in lower case"); |
| } |
| |