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.plaindatetime.prototype.withplaindate
7 description: An ISO 8601 string can be converted to a calendar ID in Calendar
8 includes: [temporalHelpers.js]
12 const instance = new Temporal.PlainDateTime(2000, 5, 2, 12, 34, 56, 987, 654, 321);
14 for (const calendar of [
16 "2020-01-01[u-ca=iso8601]",
17 "2020-01-01T00:00:00.000000000",
18 "2020-01-01T00:00:00.000000000[u-ca=iso8601]",
20 "01-01[u-ca=iso8601]",
22 "2020-01[u-ca=iso8601]",
24 const arg = { year: 1976, monthCode: "M11", day: 18, calendar };
25 const result = instance.withPlainDate(arg);
26 TemporalHelpers.assertPlainDateTime(result, 1976, 11, "M11", 18, 12, 34, 56, 987, 654, 321, `Calendar created from string "${calendar}"`);