Calendar.from.js 1.5 KB

123456789101112131415161718192021222324252627
  1. describe("normal behavior", () => {
  2. test("length is 1", () => {
  3. expect(Temporal.Calendar.from).toHaveLength(1);
  4. });
  5. test("basic functionality", () => {
  6. const timeZone = new Temporal.TimeZone("UTC");
  7. const plainDate = new Temporal.PlainDate(1970, 1, 1);
  8. const plainTime = new Temporal.PlainTime();
  9. const plainDateTime = new Temporal.PlainDateTime(1970, 1, 1);
  10. const plainMonthDay = new Temporal.PlainMonthDay(1, 1);
  11. const plainYearMonth = new Temporal.PlainYearMonth(1970, 1);
  12. const zonedDateTime = new Temporal.ZonedDateTime(0n, timeZone);
  13. const calendarLike = {};
  14. const withCalendarLike = { calendar: {} };
  15. expect(Temporal.Calendar.from(plainDate)).toBe(plainDate.calendar);
  16. expect(Temporal.Calendar.from(plainTime)).toBe(plainTime.calendar);
  17. expect(Temporal.Calendar.from(plainDateTime)).toBe(plainDateTime.calendar);
  18. expect(Temporal.Calendar.from(plainMonthDay)).toBe(plainMonthDay.calendar);
  19. expect(Temporal.Calendar.from(plainYearMonth)).toBe(plainYearMonth.calendar);
  20. expect(Temporal.Calendar.from(zonedDateTime)).toBe(zonedDateTime.calendar);
  21. expect(Temporal.Calendar.from(calendarLike)).toBe(calendarLike);
  22. expect(Temporal.Calendar.from(withCalendarLike)).toBe(withCalendarLike.calendar);
  23. expect(Temporal.Calendar.from("iso8601").id).toBe("iso8601");
  24. // TODO: test Temporal.Calendar.from("TemporalCalendarString") once ParseTemporalCalendarString is working
  25. });
  26. });