ladybird/Tests/LibJS/Runtime
aplefull c0a8dd4536 LibRegex: Reject invalid /v class set expressions in negated classes
Some string literals were incorrectly accepted inside negated classes
because the negated class check computed the actual result string set
instead of applying the structural rules.

This commit replaces class_set_expression_strings with a structural
class_set_expression_may_contain_strings check. Also removes some
incorrect tests.
2026-05-26 10:00:22 +02:00
..
3rdparty LibRegex: Emit progress check for optional iterations in bounded quants 2026-05-26 10:00:22 +02:00
builtins LibRegex: Reject invalid /v class set expressions in negated classes 2026-05-26 10:00:22 +02:00
classes LibJS: Resolve super constructor before arguments 2026-05-22 01:56:57 +02:00
functions LibJS: Check strict destructured parameter names 2026-05-22 01:56:57 +02:00
iterators LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
loops LibJS: Allow async as a for-await-of target 2026-05-22 01:56:57 +02:00
math LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
modules LibJS: Track async module evaluation order 2026-05-22 01:56:57 +02:00
operators LibJS: Produce negative zero from i32 multiplication fast path 2026-02-08 20:59:20 +01:00
regress LibJS: Preserve Promise job ordering across calls 2026-05-22 01:56:57 +02:00
syntax LibRegex: Reject invalid /v class set expressions in negated classes 2026-05-26 10:00:22 +02:00
add-values-to-primitive.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
arguments-callee.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
arguments-object.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
arguments-shorthand-property.js LibJS: Materialize arguments object for shorthand { arguments } 2026-04-27 08:04:11 +02:00
asm-call-this-binding.js LibJS: Call RawNativeFunction directly from asm Call 2026-04-15 15:57:48 +02:00
assignment-target-type.js LibJS: Fix AssignmentTargetType for NewExpression and strict mode 2026-03-13 13:08:22 -05:00
async-this-value.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
automatic-semicolon-insertion.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
bitwise-double-coercion.js LibJS: Re-box double arithmetic results as Int32 when possible 2026-03-19 09:42:04 +01:00
break-continue-syntax-errors.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
comments-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
computed-property-key-evaluation-order.js LibJS: Fix evaluation order of computed property keys in object literals 2026-02-09 01:23:48 +01:00
computed-property-sideeffects.js LibJS: Fix evaluation order of computed property keys in object literals 2026-02-09 01:23:48 +01:00
computed-property-throws.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
const-declaration-missing-initializer.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
const-reassignment.js LibJS: Fix destructured primitive string const loops 2026-05-22 01:56:57 +02:00
copy-this-to-local.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
custom-@@hasInstance.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
custom-@@toPrimitive.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
custom-@@toStringTag.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
debugger-statement.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
destructured-parameter-locals.js Tests/LibJS: Add tests for destructured parameter locals 2026-02-10 02:05:20 +01:00
destructuring-assignment-with-expression-defaults.js LibJS: Evaluate object destructuring targets before GetV 2026-05-22 01:56:57 +02:00
dictionary-delete-caching.js LibJS: Keep dictionary-mode shapes cacheable after property deletion 2026-01-27 10:58:39 +01:00
dictionary-shape-stress.js LibJS: Compact Shape property table to a sorted flat array 2026-05-14 19:59:40 +02:00
duplicated-variable-declarations.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
empty-statements.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
eval-aliasing.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
eval-basic.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
eval-catch-redeclare.js LibJS: Fix var declarations in direct eval inside catch blocks 2026-05-15 10:01:08 +02:00
eval-global-identifier-optimization.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
eval-redeclaration.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
evaluation-order.js LibJS: Copy object of member expression to preserve evaluation order 2026-03-22 15:40:38 +01:00
exception-in-catch-block.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
exception-ReferenceError.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
exponentiation-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
for-loop-per-iteration-env-bug.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
for-of-syntax-errors.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
function-constructor.js Tests/LibJS: Add a big pile of AST, bytecode, and runtime tests 2026-02-17 20:44:57 +01:00
gc-deeply-nested-object-graph.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
global-declaration-instantiation-error-skips-evaluation.js LibJS: Check result of GlobalDeclarationInstantiation before evaluating 2026-02-19 12:02:50 +01:00
global-object-getter-setter-this-value.js LibJS: Pass the global object as receiver in GetGlobal 2026-02-08 20:59:20 +01:00
global-var-let-const.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
ic-non-extensible-object.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
if-statement-function-declaration.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
indexed-access-prototype-indirection.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
indexed-access-stress.js LibJS: Fast-path safe writes into holey array holes 2026-04-09 20:06:42 +02:00
indexed-access-string-object.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
inline-cache-edge-cases.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
inline-cache-stress.js LibJS: Handle cached accessors without getter or setter 2026-05-22 01:56:57 +02:00
int32-mul-strict-equals.js AsmIntGen: Fix aarch64 mul32_overflow leaving garbage in upper 32 bits 2026-03-08 23:04:55 +01:00
invalid-lhs-in-assignment.js LibJS: Preserve strict unresolvable assignment references 2026-05-22 14:30:35 +02:00
labels.js LibJS: Hoist sloppy labelled function declarations 2026-05-22 01:56:57 +02:00
let-scoping.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
new-expression.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
non-writable-assignment.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
null-or-undefined-access.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
numeric-literals-basic.js LibJS: Always consume exponent in decimal numeric literals 2026-02-24 09:39:42 +01:00
object-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-expression-__proto__.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-expression-computed-property.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-expression-numeric-property.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-getter-setter-shorthand.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-literal-caching.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-literal-numeric-keys.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-method-shorthand.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
object-rest-destructuring-assignment.js LibJS: Fix object rest destructuring with MemberExpression target 2026-02-09 01:23:48 +01:00
object-spread.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
ordinary-to-primitive.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
panic-reachability-audit.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
parseInt.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
parser-declaration-in-single-statement-context.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
parser-invalid-destructuring-assignment-target.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
parser-line-terminators.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
parser-unary-associativity.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
permanently-screwed-by-eval.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
redefine-next-in-builtin-iterators.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
redefine-prototype-of-builtin-iterators.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
regexp-bare-astral-literal-lastindex.js LibRegex: Respect V8 astral literal lastIndex behavior 2026-03-27 17:32:19 +01:00
regexp-bounded-group-quantifier-regressions.js LibRegex: Avoid hitting backtrack limit for bounded grouped repetitions 2026-04-11 18:43:48 +02:00
regexp-bounded-lazy-zero-width-quantifier.js LibRegex: Emit progress check for optional iterations in bounded quants 2026-05-26 10:00:22 +02:00
regexp-duplicate-named-groups-nested.js LibRegex: Reject duplicate named groups in nested alternatives 2026-05-16 16:28:09 +02:00
regexp-greedy-builtin-classes-ignore-case.js LibRegex: Fix greedy \w and \W ignore-case handling 2026-03-27 17:32:19 +01:00
regexp-legacy-static-properties-initial.js LibJS: Return "" for empty legacy RegExp static properties 2026-05-16 16:28:09 +02:00
regexp-lookbehind-greedy-backtracking.js LibRegex: Fix backward greedy lookbehind backtracking 2026-03-27 17:32:19 +01:00
regexp-sticky-anchored-exec.js LibRegex: Anchor sticky matches at lastIndex 2026-03-29 16:06:57 +02:00
regexp-unicode-set-quantifier-backtracking.js LibRegex: Avoid backtracking limit in quantified mixed character classes 2026-05-16 16:28:09 +02:00
regexp-unicode-sets-negated-class.js LibRegex: Reject invalid /v class set expressions in negated classes 2026-05-26 10:00:22 +02:00
regexp-unicode-zero-width-surrogate-positions.js LibRegex: Keep empty-match surrogate candidates 2026-03-27 17:32:19 +01:00
return.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
runtime-error-call-stack-size.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
scope-local-eval-deopt.js LibJS: Preserve resolved assignment bindings 2026-05-22 01:56:57 +02:00
statement-with-many-labels.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
strict-mode-errors.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
string-basic.js LibJS: Fix destructured primitive string const loops 2026-05-22 01:56:57 +02:00
string-concatenation.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
string-escapes.js LibJS: Scope directive prologue octal tracking 2026-05-22 01:56:57 +02:00
string-rope-substrings.js LibJS: Use Substring for string slices 2026-04-11 00:35:36 +02:00
string-spread.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
super-computed-property-key.js LibJS: Remove outdated FIXME comments about ToPropertyKey ordering 2026-02-09 01:23:48 +01:00
switch-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
switch-break.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
switch-default-before-case.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
tagged-template-literal-with-this.js LibJS: Preserve this binding for tagged with identifiers 2026-02-09 01:23:48 +01:00
tagged-template-literals.js Tests/LibJS: Import various tests developed alongside Rust pipeline 2026-02-24 09:39:42 +01:00
template-literals.js LibJS: Reduce number of template literal op codes 2026-01-31 18:24:02 +01:00
test-common-tests.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
test-common.js LibWasm: Take call arguments and results on registers if possible 2026-02-02 14:11:49 +01:00
this-value-strict.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
this-value.js LibJS: Remove stale FIXME about sloppy-mode this in CallExpression 2026-02-08 20:59:20 +01:00
throw-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
to-number-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
to-number-exception.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-catch-finally-nested.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-catch-finally-return.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-catch-finally.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-finally-break.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-finally-continue.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
try-return-finally.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
unicode-identifier-continue.js LibJS+LibUnicode: Use LibUnicode as appropriate for lexing JavaScript 2026-04-19 10:39:26 +02:00
unicode-identifier-escape.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
update-expression-on-member-expression.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
update-expressions-basic.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
using-declaration.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
using-for-loops.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
var-many-declarators.js LibJS: Don't duplicate var-scoped declarations per bound identifier 2026-02-17 20:19:08 +01:00
var-multiple-declarator.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
var-scoping.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
var-shadow-in-default-param.js LibJS: Track var coordinates in var environments 2026-05-18 20:35:14 +02:00
variable-undefined.js LibJS: Move tests to /Tests/LibJS 2026-01-22 07:46:48 -05:00
with-basic.js LibJS: Preserve resolved assignment bindings 2026-05-22 01:56:57 +02:00