davidot
a49b47bfe6
LibJS: Fix tests that expected wrong this values
2021-07-20 23:45:28 +02:00
davidot
40b8689f9b
LibJS: Disallow duplicated variable declarations
2021-07-20 23:45:28 +02:00
Linus Groh
feea534dae
LibJS/Tests: Fix typo in Temporal.Instant.compare test description
2021-07-20 17:57:50 +01:00
Idan Horowitz
94322ea985
LibJS: Implement Temporal.PlainDate.prototype.calendar
2021-07-19 09:11:20 +01:00
Idan Horowitz
94e1324a67
LibJS: Implement Temporal.PlainDate.prototype[@@toStringTag]
2021-07-19 09:11:20 +01:00
Idan Horowitz
cc00ccec41
LibJS: Start implementing Temporal.PlainDate
...
This commit adds the PlainDate object itself, its constructor and
prototype (currently empty), and several required abstract operations.
2021-07-19 09:11:20 +01:00
Linus Groh
5c77885873
LibJS: Implement Temporal.Duration.from()
...
...with ParseTemporalDurationString currently TODO()'d.
2021-07-19 00:34:28 +01:00
Peter Bindels
d4113f6028
LibJS: Correct test to work with our strtod on x86_64 & Clang
...
Modify constant to be half a ULP lower so our strtod also parses it
correctly. Needs to have issue associated for actually fully fixing
strtod to be correct, rather than correct-enough.
2021-07-18 12:45:10 +01:00
Timothy Flynn
a2e734d202
LibJS: Report string length as the code point length, not byte length
...
For example, U+180E is 3 bytes, but should have a string length of 1.
2021-07-17 16:59:59 +01:00
Timothy Flynn
87848cdf7d
AK: Track byte length, rather than code point length, in Utf8View::trim
...
Utf8View::trim uses Utf8View::substring_view to return its result, which
requires the input to be a byte offset/length rather than code point
length.
2021-07-17 16:59:59 +01:00
Linus Groh
86c6e68431
LibJS: Implement Temporal.Duration.prototype.abs()
2021-07-16 21:59:13 +01:00
Linus Groh
7df47bf3fb
LibJS: Implement Temporal.Duration.prototype.negated()
2021-07-16 21:59:13 +01:00
Linus Groh
9aa1e4b885
LibJS: Implement Temporal.Duration.prototype.with()
2021-07-16 21:59:13 +01:00
Timothy Flynn
5135f4000c
LibJS: Implement RegExp.prototype [ @@matchAll ]
...
This also allows String.prototype.matchAll to work, as all calls to that
method result in an invocation to @@matchAll.
2021-07-16 13:53:11 +01:00
Linus Groh
9d7e391f94
LibJS/Tests: Add test for Temporal.Instant.prototype.valueOf()
2021-07-16 01:07:01 +01:00
Linus Groh
8daf35e1b1
LibJS: Implement Temporal.Duration.prototype.valueOf()
2021-07-16 01:07:01 +01:00
Linus Groh
a06b034a9a
LibJS: Implement Temporal.Duration.prototype.blank
2021-07-16 01:07:01 +01:00
Linus Groh
3713164fa3
LibJS: Implement Temporal.Duration.prototype.sign
2021-07-16 01:07:01 +01:00
Linus Groh
be5254dcac
LibJS: Implement Temporal.Duration.prototype.nanoseconds
2021-07-16 01:07:01 +01:00
Linus Groh
04e2d215a1
LibJS: Implement Temporal.Duration.prototype.microseconds
2021-07-16 01:07:01 +01:00
Linus Groh
db22f86055
LibJS: Implement Temporal.Duration.prototype.milliseconds
2021-07-16 01:07:01 +01:00
Linus Groh
b81331a110
LibJS: Implement Temporal.Duration.prototype.seconds
2021-07-16 01:07:01 +01:00
Linus Groh
dbdbfbeebc
LibJS: Implement Temporal.Duration.prototype.minutes
2021-07-16 01:07:01 +01:00
Linus Groh
067c2346ed
LibJS: Implement Temporal.Duration.prototype.hours
2021-07-16 01:07:01 +01:00
Linus Groh
2015640168
LibJS: Implement Temporal.Duration.prototype.days
2021-07-16 01:07:01 +01:00
Linus Groh
23d0c3494f
LibJS: Implement Temporal.Duration.prototype.weeks
2021-07-16 01:07:01 +01:00
Linus Groh
8011409428
LibJS: Implement Temporal.Duration.prototype.months
2021-07-16 01:07:01 +01:00
Linus Groh
300a22f9b9
LibJS: Implement Temporal.Duration.prototype.years
2021-07-16 01:07:01 +01:00
Linus Groh
23766f28db
LibJS: Implement Temporal.Duration.prototype[@@toStringTag]
2021-07-16 01:07:01 +01:00
Linus Groh
7921d8ba91
LibJS: Start implementing Temporal.Duration
...
This patch adds the Duration object itself, its constructor and
prototype (currently empty), and three required abstract operations.
2021-07-16 01:07:01 +01:00
Linus Groh
466c5bc96d
LibJS: Implement Temporal.Calendar.prototype.id
2021-07-14 23:50:03 +01:00
Linus Groh
3ee169d8e7
LibJS: Implement Temporal.Calendar.prototype.toJSON()
2021-07-14 23:50:03 +01:00
Linus Groh
83bbbbe567
LibJS: Implement Temporal.Calendar.prototype.toString()
2021-07-14 23:50:03 +01:00
Linus Groh
e01c6adab4
LibJS: Implement Temporal.Calendar.prototype[@@toStringTag]
2021-07-14 23:50:03 +01:00
Linus Groh
a2f1d79765
LibJS: Start implementing Temporal.Calendar
...
Just like the previous Temporal.{Instant,TimeZone} commits, this patch
adds the Calendar object itself, its constructor and prototype
(currently empty), and two required abstract operations.
2021-07-14 23:50:03 +01:00
Timothy Flynn
1a3e1bff7b
LibJS: Implement Atomics.isLockFree
2021-07-14 22:13:15 +01:00
Timothy Flynn
33eb830929
LibJS: Implement Atomics.compareExchange
2021-07-14 22:13:15 +01:00
Timothy Flynn
655ffce64d
LibJS: Implement Atomics.exchange
2021-07-14 22:13:15 +01:00
Timothy Flynn
6211eb0f9a
LibJS: Implement Atomics.store
2021-07-14 20:44:42 +01:00
Timothy Flynn
b6364ec899
LibJS: Implement Atomics.xor
2021-07-14 20:44:42 +01:00
Timothy Flynn
d2f6255b91
LibJS: Implement Atomics.sub
2021-07-14 20:44:42 +01:00
Timothy Flynn
f9d8e234b2
LibJS: Implement Atomics.or
2021-07-14 20:44:42 +01:00
Timothy Flynn
2d3af5c1b4
LibJS: Implement Atomics.and
2021-07-14 20:44:42 +01:00
Timothy Flynn
940875c9fd
LibJS: Implement Atomics.load
2021-07-14 20:44:42 +01:00
Timothy Flynn
cc3b96743a
LibJS: Implement Atomics.add
2021-07-14 20:44:42 +01:00
Timothy Flynn
a61723ec59
LibJS: Begin implementing Atomics
...
This adds the Atomics object to the global object and sets up only its
@@toStringTag property.
2021-07-14 20:44:42 +01:00
Idan Horowitz
84b028bd71
LibJS: Add Temporal.Instant.prototype.round()
...
As well as the required Abstract Operations.
2021-07-12 19:05:17 +01:00
Idan Horowitz
2382f67e0b
LibJS: Add Temporal.Instant.prototype.equals()
2021-07-12 19:05:17 +01:00
Idan Horowitz
84403ab423
LibJS: Add Temporal.Instant.from()
2021-07-12 19:05:17 +01:00
Idan Horowitz
33cf6274e8
LibJS: Add Temporal.Instant.compare()
2021-07-12 19:05:17 +01:00