diff --git a/test/built-ins/Temporal/Duration/prototype/round/next-day-out-of-range.js b/test/built-ins/Temporal/Duration/prototype/round/next-day-out-of-range.js new file mode 100644 index 0000000000..0a41bc6084 --- /dev/null +++ b/test/built-ins/Temporal/Duration/prototype/round/next-day-out-of-range.js @@ -0,0 +1,18 @@ +// 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.prototype.hoursinday +description: > + Finding the boundary with the next day may throw if the instance is at the + upper edge of the representable range +features: [Temporal] +---*/ + +const instance = new Temporal.Duration(); +const relativeTo = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); +assert.throws( + RangeError, + () => instance.round({ largestUnit: "days", smallestUnit: "minutes", relativeTo }), + "Next day boundary is out of range" +); diff --git a/test/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/next-day-out-of-range.js b/test/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/next-day-out-of-range.js new file mode 100644 index 0000000000..5ecc9cee17 --- /dev/null +++ b/test/built-ins/Temporal/ZonedDateTime/prototype/hoursInDay/next-day-out-of-range.js @@ -0,0 +1,13 @@ +// 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.prototype.hoursinday +description: > + Finding the boundary with the next day may throw if the instance is at the + upper edge of the representable range +features: [Temporal] +---*/ + +const z = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); +assert.throws(RangeError, () => z.hoursInDay, "Next day boundary is out of range"); diff --git a/test/built-ins/Temporal/ZonedDateTime/prototype/round/day-rounding-out-of-range.js b/test/built-ins/Temporal/ZonedDateTime/prototype/round/day-rounding-out-of-range.js new file mode 100644 index 0000000000..c6861e757f --- /dev/null +++ b/test/built-ins/Temporal/ZonedDateTime/prototype/round/day-rounding-out-of-range.js @@ -0,0 +1,13 @@ +// 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.prototype.round +description: > + Finding the upper bound for day rounding may fail if the instance is at the + upper edge of the representable range +features: [Temporal] +---*/ + +const instance = new Temporal.ZonedDateTime(86400_0000_0000_000_000_000n, "UTC"); +assert.throws(RangeError, () => instance.round({ smallestUnit: 'day' }), "Upper bound for rounding is out of range");