1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:27:44 +00:00
serenity/Userland/Libraries/LibJS/Tests/builtins
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
..
AggregateError LibJS: Implement the Error Cause proposal 2021-06-11 21:34:05 +01:00
Array LibJS: Fix tests that expected wrong this values 2021-07-20 23:45:28 +02:00
ArrayBuffer LibJS: ArrayBuffer.prototype.slice 2021-04-03 16:24:44 +02:00
Atomics LibJS: Implement Atomics.isLockFree 2021-07-14 22:13:15 +01:00
BigInt LibJS: Tweak error message in the NumberToBigInt abstract operation 2021-07-09 13:20:51 +01:00
Boolean Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
DataView LibJS: Correct test to work with our strtod on x86_64 & Clang 2021-07-18 12:45:10 +01:00
Date LibJS: Make parse_simplified_iso8601() use Optional<int> instead of -1 2021-07-10 19:51:07 +01:00
Error LibJS: Implement the Error Cause proposal 2021-06-11 21:34:05 +01:00
FinalizationRegistry LibJS: Add all of the FinalizationRegistry.prototype methods 2021-06-15 23:59:21 +01:00
Function LibJS: Change non-ScriptFunction source string to "[native code]" 2021-03-14 19:22:16 +01:00
functions LibJS: Add the global escape() & unescape() methods 2021-06-05 18:55:08 +01:00
Infinity Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
JSON LibJS: Dont try to serialize symbol-keyed properties 2021-04-16 19:22:29 +02:00
Map LibJS: Add the MapIterator built-in and the key/values/entries methods 2021-06-13 00:33:18 +01:00
Math LibJS: Correctly handle mixing +0 and -0 in Math.{min,max}() 2021-04-23 20:51:48 +02:00
NaN Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Number LibJS: Uncomment Number.isInteger() tests that now pass :^) 2021-07-11 22:03:04 +01:00
Object LibJS/Tests: Remove two leftover console.log() calls 2021-07-28 21:57:30 +01:00
Promise LibJS: Add @@toStringTag to Promise.prototype 2021-06-08 19:13:14 +01:00
Proxy LibJS: Disallow duplicated variable declarations 2021-07-20 23:45:28 +02:00
Reflect LibJS: Rewrite most of Object for spec compliance :^) 2021-07-04 22:07:36 +01:00
RegExp LibJS: Parse RegExp literals at AST creation time, not execution time 2021-07-30 21:26:31 +01:00
Set LibJS: Add the SetIterator built-in and Set.prototype.{values, entries} 2021-06-09 11:48:04 +01:00
String LibJS: Implement non-ECMA-402 String.prototype.toLocale{Lower,Upper}Case 2021-07-27 22:35:24 +01:00
Symbol LibJS: Unbreak test-js test that depended on function object class name 2021-06-27 22:51:39 +02:00
Temporal LibJS: Implement Temporal.PlainTime.prototype.getISOFields() 2021-07-30 09:41:11 +01:00
TypedArray LibJS: Add %TypedArray%.prototype.toLocaleString 2021-07-09 22:32:25 +01:00
WeakMap LibJS: Use undefined as the fallback value for iterable entry key/value 2021-06-12 22:34:28 +01:00
WeakRef LibJS: Add the WeakRef.prototype.deref method 2021-06-12 18:39:23 +01:00
WeakSet LibJS: Notify WeakSets when heap cells are sweeped 2021-06-09 21:52:25 +01:00