From 8ea8e3f15d22b91086751b115ad603d6c410039f Mon Sep 17 00:00:00 2001 From: Philip Chimento Date: Tue, 26 Jul 2022 11:12:45 -0700 Subject: [PATCH] Temporal: Add tests for IANA legacy name time zones Aside from the ones that were already tested in etc-timezones.js, this adds a test for other IANA legacy names. Previously these were supported in the TimeZone constructor, but not in from(). See https://github.com/tc39/proposal-temporal/pull/2292 which is a normative change that achieved consensus at the July 2022 TC39 meeting. --- .../TimeZone/from/iana-legacy-names.js | 24 +++++++++++++++++++ .../Temporal/TimeZone/iana-legacy-names.js | 24 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 test/intl402/Temporal/TimeZone/from/iana-legacy-names.js create mode 100644 test/intl402/Temporal/TimeZone/iana-legacy-names.js diff --git a/test/intl402/Temporal/TimeZone/from/iana-legacy-names.js b/test/intl402/Temporal/TimeZone/from/iana-legacy-names.js new file mode 100644 index 0000000000..00d360e9ef --- /dev/null +++ b/test/intl402/Temporal/TimeZone/from/iana-legacy-names.js @@ -0,0 +1,24 @@ +// Copyright (C) 2022 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.timezone +description: IANA legacy names must be supported +features: [Temporal] +---*/ + +const legacyNames = [ + ["Etc/GMT0", "UTC"], + ["GMT0", "UTC"], + ["GMT-0", "UTC"], + ["GMT+0", "UTC"], + ["EST5EDT", "EST5EDT"], + ["CST6CDT", "CST6CDT"], + ["MST7MDT", "MST7MDT"], + ["PST8PDT", "PST8PDT"], +]; + +legacyNames.forEach(([arg, expectedID]) => { + const tz = Temporal.TimeZone.from(arg); + assert.sameValue(tz.toString(), expectedID, `"${arg}" is a supported name for the "${expectedID}" time zone`); +}); diff --git a/test/intl402/Temporal/TimeZone/iana-legacy-names.js b/test/intl402/Temporal/TimeZone/iana-legacy-names.js new file mode 100644 index 0000000000..8b0a81f169 --- /dev/null +++ b/test/intl402/Temporal/TimeZone/iana-legacy-names.js @@ -0,0 +1,24 @@ +// Copyright (C) 2022 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-temporal.timezone +description: IANA legacy names must be supported +features: [Temporal] +---*/ + +const legacyNames = [ + ["Etc/GMT0", "UTC"], + ["GMT0", "UTC"], + ["GMT-0", "UTC"], + ["GMT+0", "UTC"], + ["EST5EDT", "EST5EDT"], + ["CST6CDT", "CST6CDT"], + ["MST7MDT", "MST7MDT"], + ["PST8PDT", "PST8PDT"], +]; + +legacyNames.forEach(([arg, expectedID]) => { + const tz = new Temporal.TimeZone(arg); + assert.sameValue(tz.toString(), expectedID, `"${arg}" is a supported name for the "${expectedID}" time zone`); +});