Now.plainDateTimeISO.js 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. describe("correct behavior", () => {
  2. test("length is 0", () => {
  3. expect(Temporal.Now.plainDateTimeISO).toHaveLength(0);
  4. });
  5. test("basic functionality", () => {
  6. const plainDateTime = Temporal.Now.plainDateTimeISO();
  7. expect(plainDateTime).toBeInstanceOf(Temporal.PlainDateTime);
  8. expect(plainDateTime.calendar.id).toBe("iso8601");
  9. });
  10. test("custom time zone", () => {
  11. const timeZone = {
  12. getOffsetNanosecondsFor() {
  13. return 86400000000000;
  14. },
  15. };
  16. const plainDateTime = Temporal.Now.plainDateTimeISO();
  17. const plainDateTimeWithOffset = Temporal.Now.plainDateTimeISO(timeZone);
  18. // Yes, this will fail if a day, month, or year change happens between the above two lines :^)
  19. // FIXME: enable these once the getters are implemented
  20. // expect(plainDateTimeWithOffset.year).toBe(plainDateTime.year);
  21. // expect(plainDateTimeWithOffset.month).toBe(plainDateTime.month);
  22. // expect(plainDateTimeWithOffset.day).toBe(plainDateTime.day + 1);
  23. // expect(plainDateTimeWithOffset.hour).not.toBe(plainDateTime.hour);
  24. // expect(plainDateTimeWithOffset.minute).not.toBe(plainDateTime.minute);
  25. // expect(plainDateTimeWithOffset.second).not.toBe(plainDateTime.second);
  26. // expect(plainDateTimeWithOffset.millisecond).not.toBe(plainDateTime.millisecond);
  27. // microsecond, and nanosecond not checked here as they could easily be the same for both
  28. });
  29. });