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.calendar.prototype.dateuntil
7 description: An ISO 8601 string can be converted to a calendar ID in Calendar
8 includes: [temporalHelpers.js]
12 const instance = new Temporal.Calendar("iso8601");
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 result1 = instance.dateUntil(arg, new Temporal.PlainDate(1976, 11, 19));
26 TemporalHelpers.assertDuration(result1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, `Calendar created from string "${calendar}" (first argument)`);
27 const result2 = instance.dateUntil(new Temporal.PlainDate(1976, 11, 19), arg);
28 TemporalHelpers.assertDuration(result2, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, `Calendar created from string "${calendar}" (second argument)`);