LibJS: Handle ZonedDateTime in the various Temporal factories

This commit is contained in:
Timothy Flynn 2024-11-25 07:24:24 -05:00 committed by Andreas Kling
commit 3e6133cc09
Notes: github-actions[bot] 2024-11-26 10:04:16 +00:00
8 changed files with 97 additions and 19 deletions

View file

@ -34,6 +34,11 @@ describe("correct behavior", () => {
expect(result).toBeInstanceOf(Temporal.Instant);
expect(result.epochNanoseconds).toBe(0n);
});
test("ZonedDateTime instance argument", () => {
const zonedDateTime = new Temporal.ZonedDateTime(123n, "UTC");
expect(Temporal.Instant.from(zonedDateTime).epochNanoseconds).toBe(123n);
});
});
describe("errors", () => {

View file

@ -17,6 +17,14 @@ describe("correct behavior", () => {
expect(createdPlainDate.month).toBe(7);
expect(createdPlainDate.day).toBe(26);
});
test("ZonedDateTime instance argument", () => {
const zonedDateTime = new Temporal.ZonedDateTime(1627318123456789000n, "UTC");
const createdPlainDate = Temporal.PlainDate.from(zonedDateTime);
expect(createdPlainDate.year).toBe(2021);
expect(createdPlainDate.month).toBe(7);
expect(createdPlainDate.day).toBe(26);
});
});
describe("errors", () => {

View file

@ -32,6 +32,20 @@ describe("correct behavior", () => {
expect(plainDateTime.nanosecond).toBe(0);
});
test("ZonedDateTime instance argument", () => {
const zonedDateTime = new Temporal.ZonedDateTime(1625614921000000000n, "UTC");
const plainDateTime = Temporal.PlainDateTime.from(zonedDateTime);
expect(plainDateTime.year).toBe(2021);
expect(plainDateTime.month).toBe(7);
expect(plainDateTime.day).toBe(6);
expect(plainDateTime.hour).toBe(23);
expect(plainDateTime.minute).toBe(42);
expect(plainDateTime.second).toBe(1);
expect(plainDateTime.millisecond).toBe(0);
expect(plainDateTime.microsecond).toBe(0);
expect(plainDateTime.nanosecond).toBe(0);
});
test("fields object argument", () => {
const object = {
year: 2021,

View file

@ -23,6 +23,17 @@ describe("correct behavior", () => {
expect(createdPlainTime.microsecond).toBe(0);
expect(createdPlainTime.nanosecond).toBe(0);
});
test("ZonedDateTime instance argument", () => {
const zonedDateTime = new Temporal.ZonedDateTime(1627318123456789000n, "UTC");
const createdPlainTime = Temporal.PlainTime.from(zonedDateTime);
expect(createdPlainTime.hour).toBe(16);
expect(createdPlainTime.minute).toBe(48);
expect(createdPlainTime.second).toBe(43);
expect(createdPlainTime.millisecond).toBe(456);
expect(createdPlainTime.microsecond).toBe(789);
expect(createdPlainTime.nanosecond).toBe(0);
});
});
describe("errors", () => {