Files
ladybird/Tests/LibJS/Bytecode/input/destructuring-assignment.js
Andreas Kling 32389c5e96 Tests/LibJS: Add tests for scope analysis and destructuring
Add bytecode tests verifying identifier resolution produces correct
register-backed locals, global lookups, argument indices, and
environment lookups for eval/with/captured cases.

Add runtime tests for destructuring assignment patterns with
expression defaults: class expressions (named/anonymous), function
expressions, arrow functions, nested destructuring, eval in
defaults, MemberExpression targets with setter functions, and class
name scoping.
2026-02-10 02:05:20 +01:00

31 lines
707 B
JavaScript

// Test that variables used in destructuring assignment patterns are correctly
// resolved as locals/globals after synthesize_binding_pattern re-parsing.
function array_destructuring_with_class_default() {
var x;
[x = class C {}] = [undefined];
return x;
}
function object_destructuring_with_function_default() {
var x;
({ x = function () {} } = {});
return x;
}
function setter_parameter_resolution() {
var setValue;
[
{
set y(val) {
setValue = val;
},
}.y,
] = [23];
return setValue;
}
array_destructuring_with_class_default();
object_destructuring_with_function_default();
setter_parameter_resolution();