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.
6 esid: sec-temporal.zoneddatetime.prototype.withplaintime
7 description: Annotation keys are lowercase-only
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 = "UTC";
23 const instance = new Temporal.ZonedDateTime(0n, timeZone);
24 invalidStrings.forEach(([arg, descr]) => {
27 () => instance.withPlainTime(arg),
28 `annotation keys must be lowercase: ${arg} - ${descr}`