mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-23 01:12:45 +00:00
60 lines
2.3 KiB
JavaScript
60 lines
2.3 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);
|
|
});
|
|
|
|
test("default reference day is 1", () => {
|
|
const plainYearMonth = new Temporal.PlainYearMonth(2021, 7);
|
|
const fields = plainYearMonth.toString({ calendarName: "always" });
|
|
const day = fields.split("-")[2].split("[")[0];
|
|
expect(day).toBe("01");
|
|
});
|
|
});
|