mirror of
https://github.com/tc39/test262.git
synced 2025-07-21 21:14:45 +02:00
Temporal: Add coverage for weird PlainMonthDay leap day constrain case
If you have a leap day, such as February 29, and you get input such as { monthCode: "M02", day: 30 }, { overflow: "constrain" }, then you want the day to be constrained to the leap day February 29, not February 28 as the maximum day would be in a common year. Add tests for this case for each supported calendar.
This commit is contained in:
parent
fa0a3081bd
commit
c3c318cf11
@ -0,0 +1,11 @@
|
||||
// Copyright (C) 2025 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-temporal.plainmonthday.from
|
||||
description: Properly constrain February 30 to February 29, not 28
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const md = Temporal.PlainMonthDay.from({ monthCode: "M02", day: 30 }, { overflow: "constrain" });
|
||||
assert.sameValue(md.day, 29, "M02-30 should constrain to 29, not 28");
|
@ -0,0 +1,32 @@
|
||||
// Copyright (C) 2025 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-temporal.plainmonthday.from
|
||||
description: Properly constrain a day that is one past a leap day
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const tests = [
|
||||
["buddhist", "M02", 30],
|
||||
["chinese", "M01", 31],
|
||||
["coptic", "M13", 7],
|
||||
["dangi", "M01", 31],
|
||||
["ethioaa", "M13", 7],
|
||||
["ethiopic", "M13", 7],
|
||||
["gregory", "M02", 30],
|
||||
["hebrew", "M02", 31],
|
||||
["indian", "M01", 32],
|
||||
["islamic-civil", "M01", 31],
|
||||
["islamic-tbla", "M01", 31],
|
||||
["islamic-umalqura", "M01", 31],
|
||||
["japanese", "M02", 30],
|
||||
["persian", "M12", 31],
|
||||
["roc", "M02", 30],
|
||||
];
|
||||
|
||||
for (const [calendar, monthCode, day] of tests) {
|
||||
const md = Temporal.PlainMonthDay.from({ calendar, monthCode, day }, { overflow: "constrain" });
|
||||
assert.sameValue(md.day, day - 1,
|
||||
`${calendar}: ${monthCode}-${day} should constrain to ${day - 1}, not ${day - 2}`)
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user