mirror of
https://github.com/RGBCube/serenity
synced 2025-05-17 15:05:07 +00:00

Evidently, going one day forward on the last day of month increases the month number by one and resets the day to 1. Doing the same on the last day of the year resets the month to 1.
35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
describe("correct behavior", () => {
|
|
test("length is 0", () => {
|
|
expect(Temporal.Now.plainDateISO).toHaveLength(0);
|
|
});
|
|
|
|
test("basic functionality", () => {
|
|
const plainDate = Temporal.Now.plainDateISO();
|
|
expect(plainDate).toBeInstanceOf(Temporal.PlainDate);
|
|
expect(plainDate.calendar.id).toBe("iso8601");
|
|
});
|
|
|
|
test("custom time zone", () => {
|
|
const timeZone = {
|
|
getOffsetNanosecondsFor() {
|
|
return 86400000000000;
|
|
},
|
|
};
|
|
const plainDate = Temporal.Now.plainDateISO();
|
|
const plainDateWithOffset = Temporal.Now.plainDateISO(timeZone);
|
|
if (plainDate.dayOfYear === plainDate.daysInYear) {
|
|
expect(plainDateWithOffset.year).toBe(plainDate.year + 1);
|
|
expect(plainDateWithOffset.month).toBe(1);
|
|
expect(plainDateWithOffset.day).toBe(1);
|
|
} else {
|
|
expect(plainDateWithOffset.year).toBe(plainDate.year);
|
|
if (plainDate.day === plainDate.daysInMonth) {
|
|
expect(plainDateWithOffset.month).toBe(plainDate.month + 1);
|
|
expect(plainDateWithOffset.day).toBe(1);
|
|
} else {
|
|
expect(plainDateWithOffset.month).toBe(plainDate.month);
|
|
expect(plainDateWithOffset.day).toBe(plainDate.day + 1);
|
|
}
|
|
}
|
|
});
|
|
});
|