mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-24 18:02:20 +00:00
And the simple Temporal.PlainYearMonth.prototype getters, so that the constructed Temporal.PlainYearMonth may actually be validated.
60 lines
2.4 KiB
JavaScript
60 lines
2.4 KiB
JavaScript
describe("errors", () => {
|
|
test("called without new", () => {
|
|
expect(() => {
|
|
Temporal.PlainYearMonth();
|
|
}).toThrowWithMessage(
|
|
TypeError,
|
|
"Temporal.PlainYearMonth constructor must be called with 'new'"
|
|
);
|
|
});
|
|
|
|
test("cannot pass Infinity", () => {
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, 1, undefined, Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(-Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, -Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, 1, undefined, -Infinity);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
});
|
|
|
|
test("cannot pass invalid ISO month/day", () => {
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, 0);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
expect(() => {
|
|
new Temporal.PlainYearMonth(0, 1, undefined, 0);
|
|
}).toThrowWithMessage(RangeError, "Invalid plain year month");
|
|
});
|
|
});
|
|
|
|
describe("normal behavior", () => {
|
|
test("length is 2", () => {
|
|
expect(Temporal.PlainYearMonth).toHaveLength(2);
|
|
});
|
|
|
|
test("basic functionality", () => {
|
|
const plainYearMonth = new Temporal.PlainYearMonth(2021, 7);
|
|
expect(typeof plainYearMonth).toBe("object");
|
|
expect(plainYearMonth).toBeInstanceOf(Temporal.PlainYearMonth);
|
|
expect(Object.getPrototypeOf(plainYearMonth)).toBe(Temporal.PlainYearMonth.prototype);
|
|
});
|
|
|
|
// FIXME: Re-implement this test with Temporal.PlainYearMonth.prototype.toString({ calendarName: "always" }).
|
|
// test("default reference day is 1", () => {
|
|
// const plainYearMonth = new Temporal.PlainYearMonth(2021, 7);
|
|
// const fields = plainYearMonth.getISOFields();
|
|
// expect(fields.isoDay).toBe(1);
|
|
// });
|
|
});
|