Add tests for adding negative durations to/subtracting durations from the last representable year/month of the ISO calendar

See https://github.com/tc39/proposal-temporal/issues/3029
This commit is contained in:
Tim Chevalier 2024-11-01 11:36:01 -07:00 committed by Philip Chimento
parent 45f352d37b
commit 01eb47d4f2
2 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,21 @@
// 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.prototype.add
description: RangeError thrown when adding negative duration to last representable month.
features: [Temporal]
---*/
const lastMonth = new Temporal.PlainYearMonth(275760, 9);
// See https://tc39.es/proposal-temporal/#sec-temporal-adddurationtoyearmonth
// (step 10d)
assert.throws(RangeError, () => lastMonth.add({seconds: -1}));
assert.throws(RangeError, () => lastMonth.add({minutes: -1}));
assert.throws(RangeError, () => lastMonth.add({hours: -1}));
assert.throws(RangeError, () => lastMonth.add({days: -1}));
assert.throws(RangeError, () => lastMonth.add({weeks: -1}));
assert.throws(RangeError, () => lastMonth.add({months: -1}));
assert.throws(RangeError, () => lastMonth.add({years: -1}));

View File

@ -0,0 +1,21 @@
// 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.prototype.subtract
description: RangeError thrown when subtracting duration from last representable month.
features: [Temporal]
---*/
const lastMonth = new Temporal.PlainYearMonth(275760, 9);
// See https://tc39.es/proposal-temporal/#sec-temporal-adddurationtoyearmonth
// (step 10d)
assert.throws(RangeError, () => lastMonth.subtract({seconds: 1}));
assert.throws(RangeError, () => lastMonth.subtract({minutes: 1}));
assert.throws(RangeError, () => lastMonth.subtract({hours: 1}));
assert.throws(RangeError, () => lastMonth.subtract({days: 1}));
assert.throws(RangeError, () => lastMonth.subtract({weeks: 1}));
assert.throws(RangeError, () => lastMonth.subtract({months: 1}));
assert.throws(RangeError, () => lastMonth.subtract({years: 1}));