mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-28 13:18:19 +00:00
LibJS: Handle ZonedDateTime in the various Temporal factories
This commit is contained in:
parent
8c73cae2b8
commit
3e6133cc09
Notes:
github-actions[bot]
2024-11-26 10:04:16 +00:00
Author: https://github.com/trflynn89
Commit: 3e6133cc09
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2577
Reviewed-by: https://github.com/shannonbooth ✅
8 changed files with 97 additions and 19 deletions
|
@ -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", () => {
|
||||
|
|
|
@ -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", () => {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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", () => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue