summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/Temporal/TimeZone
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/intl402/Temporal/TimeZone')
-rw-r--r--js/src/tests/test262/intl402/Temporal/TimeZone/from/timezone-string-legacy-non-iana.js47
-rw-r--r--js/src/tests/test262/intl402/Temporal/TimeZone/legacy-non-iana.js47
-rw-r--r--js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js8
-rw-r--r--js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js8
-rw-r--r--js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js8
5 files changed, 118 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/Temporal/TimeZone/from/timezone-string-legacy-non-iana.js b/js/src/tests/test262/intl402/Temporal/TimeZone/from/timezone-string-legacy-non-iana.js
new file mode 100644
index 0000000000..90f7e9f4f6
--- /dev/null
+++ b/js/src/tests/test262/intl402/Temporal/TimeZone/from/timezone-string-legacy-non-iana.js
@@ -0,0 +1,47 @@
+// |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
+// Copyright (C) 2024 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-temporal.timezone.from
+description: Only IANA time zone identifiers are allowed.
+features: [Temporal]
+---*/
+
+// List of non-IANA link names, copied from:
+// https://github.com/unicode-org/icu/blob/main/icu4c/source/tools/tzcode/icuzones
+const invalidTimeZones = [
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST",
+];
+
+for (let timeZone of invalidTimeZones) {
+ assert.throws(RangeError, () => {
+ Temporal.TimeZone.from(timeZone);
+ }, "Time zone: " + timeZone);
+}
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/intl402/Temporal/TimeZone/legacy-non-iana.js b/js/src/tests/test262/intl402/Temporal/TimeZone/legacy-non-iana.js
new file mode 100644
index 0000000000..aaf9dd1a80
--- /dev/null
+++ b/js/src/tests/test262/intl402/Temporal/TimeZone/legacy-non-iana.js
@@ -0,0 +1,47 @@
+// |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
+// Copyright (C) 2024 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-temporal.timezone
+description: Only IANA time zone identifiers are allowed.
+features: [Temporal]
+---*/
+
+// List of non-IANA link names, copied from:
+// https://github.com/unicode-org/icu/blob/main/icu4c/source/tools/tzcode/icuzones
+const invalidTimeZones = [
+ "ACT",
+ "AET",
+ "AGT",
+ "ART",
+ "AST",
+ "BET",
+ "BST",
+ "CAT",
+ "CNT",
+ "CST",
+ "CTT",
+ "EAT",
+ "ECT",
+ "IET",
+ "IST",
+ "JST",
+ "MIT",
+ "NET",
+ "NST",
+ "PLT",
+ "PNT",
+ "PRT",
+ "PST",
+ "SST",
+ "VST",
+];
+
+for (let timeZone of invalidTimeZones) {
+ assert.throws(RangeError, () => {
+ new Temporal.TimeZone(timeZone);
+ }, "Time zone: " + timeZone);
+}
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js
index 60f74c2518..5265d86aa2 100644
--- a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js
+++ b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getInstantFor/shell.js
@@ -2022,6 +2022,9 @@ var TemporalHelpers = {
"11-18junk",
"11-18[u-ca=gregory]",
"11-18[u-ca=hebrew]",
+ "11-18[U-CA=iso8601]",
+ "11-18[u-CA=iso8601]",
+ "11-18[FOO=bar]",
];
},
@@ -2109,6 +2112,11 @@ var TemporalHelpers = {
plainYearMonthStringsInvalid() {
return [
"2020-13",
+ "1976-11[u-ca=gregory]",
+ "1976-11[u-ca=hebrew]",
+ "1976-11[U-CA=iso8601]",
+ "1976-11[u-CA=iso8601]",
+ "1976-11[FOO=bar]",
];
},
diff --git a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js
index 60f74c2518..5265d86aa2 100644
--- a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js
+++ b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/shell.js
@@ -2022,6 +2022,9 @@ var TemporalHelpers = {
"11-18junk",
"11-18[u-ca=gregory]",
"11-18[u-ca=hebrew]",
+ "11-18[U-CA=iso8601]",
+ "11-18[u-CA=iso8601]",
+ "11-18[FOO=bar]",
];
},
@@ -2109,6 +2112,11 @@ var TemporalHelpers = {
plainYearMonthStringsInvalid() {
return [
"2020-13",
+ "1976-11[u-ca=gregory]",
+ "1976-11[u-ca=hebrew]",
+ "1976-11[U-CA=iso8601]",
+ "1976-11[u-CA=iso8601]",
+ "1976-11[FOO=bar]",
];
},
diff --git a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js
index 60f74c2518..5265d86aa2 100644
--- a/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js
+++ b/js/src/tests/test262/intl402/Temporal/TimeZone/prototype/getPossibleInstantsFor/shell.js
@@ -2022,6 +2022,9 @@ var TemporalHelpers = {
"11-18junk",
"11-18[u-ca=gregory]",
"11-18[u-ca=hebrew]",
+ "11-18[U-CA=iso8601]",
+ "11-18[u-CA=iso8601]",
+ "11-18[FOO=bar]",
];
},
@@ -2109,6 +2112,11 @@ var TemporalHelpers = {
plainYearMonthStringsInvalid() {
return [
"2020-13",
+ "1976-11[u-ca=gregory]",
+ "1976-11[u-ca=hebrew]",
+ "1976-11[U-CA=iso8601]",
+ "1976-11[u-CA=iso8601]",
+ "1976-11[FOO=bar]",
];
},