mirror of
https://github.com/tc39/test262.git
synced 2025-07-13 17:14:38 +02:00
Add test with non-IANA time zone names (#4005)
Time zone identifiers supported by ICU, but which aren't valid IANA identifiers. Implementations not supporting ECMA-402 are theoretically allowed to support these identifiers, so the tests have to go into the "intl402" directory.
This commit is contained in:
parent
403ee414ab
commit
53984cf8c5
43
test/intl402/DateTimeFormat/timezone-legacy-non-iana.js
Normal file
43
test/intl402/DateTimeFormat/timezone-legacy-non-iana.js
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
// 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);
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
// 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);
|
||||||
|
}
|
44
test/intl402/Temporal/TimeZone/legacy-non-iana.js
Normal file
44
test/intl402/Temporal/TimeZone/legacy-non-iana.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
// 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);
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user