Now.plainDateISO.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. describe("correct behavior", () => {
  2. test("length is 0", () => {
  3. expect(Temporal.Now.plainDateISO).toHaveLength(0);
  4. });
  5. test("basic functionality", () => {
  6. const plainDate = Temporal.Now.plainDateISO();
  7. expect(plainDate).toBeInstanceOf(Temporal.PlainDate);
  8. expect(plainDate.calendar.id).toBe("iso8601");
  9. });
  10. test("custom time zone", () => {
  11. const timeZone = {
  12. getOffsetNanosecondsFor() {
  13. return 86400000000000;
  14. },
  15. };
  16. const plainDate = Temporal.Now.plainDateISO();
  17. const plainDateWithOffset = Temporal.Now.plainDateISO(timeZone);
  18. if (plainDate.dayOfYear === plainDate.daysInYear) {
  19. expect(plainDateWithOffset.year).toBe(plainDate.year + 1);
  20. expect(plainDateWithOffset.month).toBe(1);
  21. expect(plainDateWithOffset.day).toBe(1);
  22. } else {
  23. expect(plainDateWithOffset.year).toBe(plainDate.year);
  24. if (plainDate.day === plainDate.daysInMonth) {
  25. expect(plainDateWithOffset.month).toBe(plainDate.month + 1);
  26. expect(plainDateWithOffset.day).toBe(1);
  27. } else {
  28. expect(plainDateWithOffset.month).toBe(plainDate.month);
  29. expect(plainDateWithOffset.day).toBe(plainDate.day + 1);
  30. }
  31. }
  32. });
  33. });