Source code
Revision control
Copy as Markdown
Other Tools
// |reftest| skip-if(!this.hasOwnProperty("Temporal"))
function assertDate(actual, {
year, era, eraYear, month, monthCode, day
}) {
assertEq(actual.year, year);
assertEq(actual.era, era);
assertEq(actual.eraYear, eraYear);
assertEq(actual.month, month);
assertEq(actual.monthCode, monthCode);
assertEq(actual.day, day);
}
const calendar = "islamic-umalqura";
// Bug 2008105
assertDate(Temporal.PlainDate.from({
calendar,
year: -4096,
monthCode: "M12",
day: 29,
}), {
year: -4096,
era: "bh",
eraYear: 4097,
month: 12,
monthCode: "M12",
day: 29,
});
assertDate(new Temporal.PlainDate(2025, 2, 26, calendar), {
year: 1446,
era: "ah",
eraYear: 1446,
month: 8,
monthCode: "M08",
day: 27,
});
assertDate(Temporal.PlainDate.from({
calendar,
year: -6823,
monthCode: "M01",
day: 1,
}), {
year: -6823,
era: "bh",
eraYear: 6824,
month: 1,
monthCode: "M01",
day: 1,
});
assertDate(new Temporal.PlainDate(-271821, 4, 19, calendar), {
year: -280804,
era: "bh",
eraYear: 280805,
month: 3,
monthCode: "M03",
day: 21,
});
assertDate(new Temporal.PlainDate(275760, 9, 13, calendar), {
year: 283583,
era: "ah",
eraYear: 283583,
month: 5,
monthCode: "M05",
day: 23,
});
assertDate(Temporal.PlainDate.from({
calendar,
year: 1391,
monthCode: "M01",
day: 30,
}), {
year: 1391,
era: "ah",
eraYear: 1391,
month: 1,
monthCode: "M01",
day: 29,
});
if (typeof reportCompare === "function")
reportCompare(true, true);