diff options
Diffstat (limited to 'js/src/tests/non262/expressions/short-circuit-compound-assignment-anon-fns.js')
-rw-r--r-- | js/src/tests/non262/expressions/short-circuit-compound-assignment-anon-fns.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/js/src/tests/non262/expressions/short-circuit-compound-assignment-anon-fns.js b/js/src/tests/non262/expressions/short-circuit-compound-assignment-anon-fns.js new file mode 100644 index 0000000000..406f143ead --- /dev/null +++ b/js/src/tests/non262/expressions/short-circuit-compound-assignment-anon-fns.js @@ -0,0 +1,42 @@ +// NamedEvaluation applies to short-circuit assignment. + +{ + let a; + a ??= function(){}; + assertEq(a.name, "a"); +} + +{ + let a = false; + a ||= function(){}; + assertEq(a.name, "a"); +} + +{ + let a = true; + a &&= function(){}; + assertEq(a.name, "a"); +} + +// No name assignments for parenthesised left-hand sides. + +{ + let a; + (a) ??= function(){}; + assertEq(a.name, ""); +} + +{ + let a = false; + (a) ||= function(){}; + assertEq(a.name, ""); +} + +{ + let a = true; + (a) &&= function(){}; + assertEq(a.name, ""); +} + +if (typeof reportCompare === "function") + reportCompare(0, 0); |