summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js')
-rw-r--r--js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js b/js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js
new file mode 100644
index 0000000000..d99cf18df4
--- /dev/null
+++ b/js/src/tests/test262/intl402/DateTimeFormat/timezone-legacy-non-iana.js
@@ -0,0 +1,45 @@
+// Copyright (C) 2024 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-initializedatetimeformat
+description: Only IANA time zone identifiers are allowed.
+---*/
+
+// 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 Intl.DateTimeFormat(undefined, {timeZone});
+ }, "Time zone: " + timeZone);
+}
+
+reportCompare(0, 0);