1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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, {}, 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, {}, -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, {}, 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.getISOFields();
- expect(fields.isoDay).toBe(1);
- });
- });
|