1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 10:14:57 +00:00
Commit graph

400 commits

Author SHA1 Message Date
Linus Groh
752b3eb0c0 LibJS: Implement Temporal.ZonedDateTime.prototype.millisecond 2021-08-05 19:19:40 +02:00
Linus Groh
9d9ab492df LibJS: Implement Temporal.ZonedDateTime.prototype.second 2021-08-05 19:19:40 +02:00
Linus Groh
a6775517ad LibJS: Implement Temporal.ZonedDateTime.prototype.minute 2021-08-05 19:19:40 +02:00
Linus Groh
32f1e17e71 LibJS: Implement Temporal.ZonedDateTime.prototype.hour 2021-08-05 19:19:40 +02:00
Linus Groh
0580f102e4 LibJS: Implement Temporal.ZonedDateTime.prototype.day 2021-08-05 19:19:40 +02:00
Linus Groh
30e27f6483 LibJS: Implement Temporal.ZonedDateTime.prototype.monthCode 2021-08-05 19:19:40 +02:00
Linus Groh
fd18dc782f LibJS: Implement Temporal.ZonedDateTime.prototype.month 2021-08-05 19:19:40 +02:00
Linus Groh
b8ac31500c LibJS: Implement Temporal.ZonedDateTime.prototype.year 2021-08-05 19:19:40 +02:00
Linus Groh
a06bd451d4 LibJS: Implement Temporal.Now.zonedDateTimeISO() 2021-08-01 20:31:31 +01:00
Linus Groh
36c79c2989 LibJS: Implement Temporal.Now.zonedDateTime() 2021-08-01 20:31:31 +01:00
Linus Groh
49c5f87274 LibJS: Implement Temporal.ZonedDateTime.prototype.timeZone 2021-08-01 20:31:31 +01:00
Linus Groh
d022b74d33 LibJS: Implement Temporal.ZonedDateTime.prototype.calendar 2021-08-01 20:31:31 +01:00
Linus Groh
bc416ab802 LibJS: Implement Temporal.ZonedDateTime.prototype[@@toStringTag] 2021-08-01 20:31:31 +01:00
Linus Groh
4640643019 LibJS: Handle ZonedDateTime in ToTemporalDate 2021-08-01 20:31:31 +01:00
Linus Groh
6f75dcc7b8 LibJS: Handle ZonedDateTime in ToTemporalInstant 2021-08-01 20:31:31 +01:00
Linus Groh
cfb77b66e5 LibJS: Start implementing Temporal.ZonedDateTime
This commit adds the ZonedDateTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalZonedDateTime
abstract operation.
2021-08-01 20:31:31 +01:00
Linus Groh
dc80a258f6 LibJS: Implement Temporal.Calendar.from() 2021-08-01 11:40:25 +01:00
Linus Groh
e511390423 LibJS: Implement Temporal.TimeZone.prototype.getPlainDateTimeFor() 2021-08-01 10:24:38 +01:00
Linus Groh
c4123d8aad LibJS: Implement Temporal.TimeZone.prototype.getOffsetStringFor() 2021-08-01 10:24:38 +01:00
Linus Groh
f987c11464 LibJS: Implement Temporal.TimeZone.from() 2021-08-01 10:24:38 +01:00
Linus Groh
95331ea864 LibJS/Tests: Fix Temporal.Now.plainDateTime{,ISO}() epoch calculation
Combining month and day like this doesn't always yield correct results.
Use dayOfYear multiplied by the seconds per day instead, which does.
2021-07-31 13:54:25 +01:00
Linus Groh
cab1015a03 LibJS/Tests: Fix Temporal.Now.plainDate{,ISO}() at end of month/year
Evidently, going one day forward on the last day of month increases the
month number by one and resets the day to 1. Doing the same on the last
day of the year resets the month to 1.
2021-07-31 13:54:25 +01:00
Idan Horowitz
64a98d0f90 LibJS: Implement Temporal.PlainDateTime.prototype.toPlainTime 2021-07-31 00:16:41 +01:00
Idan Horowitz
010761aff4 LibJS: Implement Temporal.PlainDateTime.prototype.withPlainDate 2021-07-31 00:16:41 +01:00
Idan Horowitz
f657c86d58 LibJS: Implement Temporal.PlainDateTime.prototype.withCalendar 2021-07-31 00:16:41 +01:00
Linus Groh
9ea8aa7ffe LibJS/Tests: Compare results in Temporal.Now.plainDateTimeISO() test 2021-07-30 22:13:13 +01:00
Linus Groh
2c85f076c8 LibJS/Tests: Compare results in Temporal.Now.plainDateTime() test 2021-07-30 22:13:13 +01:00
Timothy Flynn
b3569fab7c LibJS: Add tests for Unicode property escapes
LibJS gets this for free from LibRegex, but let's add test cases for it.
2021-07-30 21:26:31 +01:00
Timothy Flynn
f1dd770a8a LibJS: Parse RegExp literals at AST creation time, not execution time
The spec requires that invalid RegExp literals must cause a Syntax Error
before the JavaScript is executed. See:
https://tc39.es/ecma262/#sec-patterns-static-semantics-early-errors

This is explicitly tested in the RegExp/property-escapes test262 tests.
For example, see unsupported-property-Line_Break.js:

    $DONOTEVALUATE();
    /\p{Line_Break}/u;

That RegExp literal is invalid because Line_Break is not a supported
Unicode property. $DONOTEVALUATE() just throws an exception when it is
executed. The test expects that this file will fail to be parsed.

Note that RegExp patterns can still be parsed at execution time by way
of "new RegExp(...)".
2021-07-30 21:26:31 +01:00
Linus Groh
e7c5c3d507 LibJS: Implement Temporal.PlainTime.prototype.getISOFields() 2021-07-30 09:41:11 +01:00
Linus Groh
c7bef42975 LibJS: Implement Temporal.PlainDate.prototype.getISOFields() 2021-07-30 09:41:11 +01:00
Idan Horowitz
d1ee31c5de LibJS: Implement Temporal.PlainTime.prototype.toPlainDateTime 2021-07-29 22:47:56 +01:00
Idan Horowitz
8f9b4a5ea6 LibJS: Implement Temporal.PlainDateTime.prototype.inLeapYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
b9ed19c850 LibJS: Implement Temporal.PlainDateTime.prototype.monthsInYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
fb5c0ed0d0 LibJS: Implement Temporal.PlainDateTime.prototype.daysInYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
2d86cbae45 LibJS: Implement Temporal.PlainDateTime.prototype.daysInMonth 2021-07-29 22:47:56 +01:00
Idan Horowitz
01d33174c8 LibJS: Implement Temporal.PlainDateTime.prototype.daysInWeek 2021-07-29 22:47:56 +01:00
Idan Horowitz
d4e9d572f5 LibJS: Implement Temporal.PlainDateTime.prototype.weekOfYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
0800c2a958 LibJS: Implement Temporal.PlainDateTime.prototype.dayOfYear 2021-07-29 22:47:56 +01:00
Idan Horowitz
c41b7b27c9 LibJS: Implement Temporal.PlainDateTime.prototype.dayOfWeek 2021-07-29 22:47:56 +01:00
Idan Horowitz
518a9f3eab LibJS: Implement Temporal.PlainDateTime.prototype.nanosecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
23bf840326 LibJS: Implement Temporal.PlainDateTime.prototype.microsecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
b2f66a06ac LibJS: Implement Temporal.PlainDateTime.prototype.millisecond 2021-07-29 22:47:56 +01:00
Idan Horowitz
3fdb314a39 LibJS: Implement Temporal.PlainDateTime.prototype.second 2021-07-29 22:47:56 +01:00
Idan Horowitz
6dd0815fad LibJS: Implement Temporal.PlainDateTime.prototype.minute 2021-07-29 22:47:56 +01:00
Idan Horowitz
f553ab3104 LibJS: Implement Temporal.PlainDateTime.prototype.hour 2021-07-29 22:47:56 +01:00
Idan Horowitz
f93b6ea58c LibJS: Implement Temporal.PlainDateTime.prototype.day 2021-07-29 22:47:56 +01:00
Idan Horowitz
677a631e87 LibJS: Implement Temporal.PlainDateTime.prototype.monthCode 2021-07-29 22:47:56 +01:00
Idan Horowitz
78e63b34fa LibJS: Implement Temporal.PlainDateTime.prototype.month 2021-07-29 22:47:56 +01:00
Idan Horowitz
23d0fd2659 LibJS: Implement Temporal.PlainDateTime.prototype.year 2021-07-29 22:47:56 +01:00