Backed out 2 changesets (bug 1888310, bug 1884625) for causing failures on browser_ap...
[gecko.git] / js / src / tests / test262 / built-ins / Temporal / ZonedDateTime / prototype / withPlainTime / argument-string-calendar-annotation-invalid-key.js
blobd07df63e1ed1ce9ee6255df9669aaac66ce126e7
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
2 // Copyright (C) 2024 Igalia, S.L. All rights reserved.
3 // This code is governed by the BSD license found in the LICENSE file.
5 /*---
6 esid: sec-temporal.zoneddatetime.prototype.withplaintime
7 description: Annotation keys are lowercase-only
8 features: [Temporal]
9 ---*/
11 const invalidStrings = [
12   ["00:00[U-CA=iso8601]", "invalid capitalized key, time-only"],
13   ["T00:00[U-CA=iso8601]", "invalid capitalized key, time designator"],
14   ["1970-01-01T00:00[U-CA=iso8601]", "invalid capitalized key"],
15   ["00:00[u-CA=iso8601]", "invalid partially-capitalized key, time-only"],
16   ["T00:00[u-CA=iso8601]", "invalid partially-capitalized key, time designator"],
17   ["1970-01-01T00:00[u-CA=iso8601]", "invalid partially-capitalized key"],
18   ["00:00[FOO=bar]", "invalid capitalized unrecognized key, time-only"],
19   ["T00:00[FOO=bar]", "invalid capitalized unrecognized key, time designator"],
20   ["1970-01-01T00:00[FOO=bar]", "invalid capitalized unrecognized key"],
22 const timeZone = new Temporal.TimeZone("UTC");
23 const instance = new Temporal.ZonedDateTime(0n, timeZone);
24 invalidStrings.forEach(([arg, descr]) => {
25   assert.throws(
26     RangeError,
27     () => instance.withPlainTime(arg),
28     `annotation keys must be lowercase: ${arg} - ${descr}`
29   );
30 });
32 reportCompare(0, 0);