Skip to content

Commit

Permalink
Temporal: Add tests for conversion of calendar and time zone IDs in c…
Browse files Browse the repository at this point in the history
…onstructors

Now that we don't have to deal with strings or objects as input to the
calendar ID or time zone ID parameter of constructors, we accept only the
data that actually goes into the internal slots.
ptomato authored and Ms2ger committed Jul 5, 2024
1 parent cb13595 commit 3a7a72a
Showing 6 changed files with 84 additions and 0 deletions.
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/PlainDate/calendar-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plaindate.constructor
description: An ISO string is not valid input for a constructor's calendar param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.PlainDate(2000, 5, 2, "1997-12-04[u-ca=iso8601]"),
"An ISO string is not a valid calendar ID for constructor parameter"
);
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/PlainDateTime/calendar-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plaindatetime.constructor
description: An ISO string is not valid input for a constructor's calendar param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.PlainDateTime(2000, 5, 2, 15, 23, 30, 987, 654, 321, "1997-12-04[u-ca=iso8601]"),
"An ISO string is not a valid calendar ID for constructor parameter"
);
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/PlainMonthDay/calendar-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plainmonthday.constructor
description: An ISO string is not valid input for a constructor's calendar param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.PlainMonthDay(12, 15, "1997-12-04[u-ca=iso8601]", 1972),
"An ISO string is not a valid calendar ID for constructor parameter"
);
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/PlainYearMonth/calendar-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plainyearmonth.constructor
description: An ISO string is not valid input for a constructor's calendar param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.PlainYearMonth(2000, 5, "1997-12-04[u-ca=iso8601]", 1),
"An ISO string is not a valid calendar ID for constructor parameter"
);
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/ZonedDateTime/calendar-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.zoneddatetime.constructor
description: An ISO string is not valid input for a constructor's calendar param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.ZonedDateTime(0n, "UTC", "1997-12-04[u-ca=iso8601]"),
"An ISO string is not a valid calendar ID for constructor parameter"
);
14 changes: 14 additions & 0 deletions test/built-ins/Temporal/ZonedDateTime/timezone-iso-string.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.zoneddatetime.constructor
description: An ISO string is not valid input for a constructor's time zone param
features: [Temporal]
---*/

assert.throws(
RangeError,
() => new Temporal.ZonedDateTime(0n, "1997-12-04T12:34[+01:00]", "iso8601"),
"An ISO string is not a valid calendar ID for constructor parameter"
);

0 comments on commit 3a7a72a

Please sign in to comment.