arrow-fn-body-cntns-arguments-var-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js (867B)
1 // This file was procedurally generated from the following sources: 2 // - src/direct-eval-code/arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.case 3 // - src/direct-eval-code/arrow-func/fn-body-cntns-arguments-var-bind.template 4 /*--- 5 description: Declare "arguments" and assign to it in direct eval code (Declare |arguments| when the function body contains an |arguments| var-binding.) 6 esid: sec-evaldeclarationinstantiation 7 flags: [generated, noStrict] 8 ---*/ 9 10 const oldArguments = globalThis.arguments; 11 let count = 0; 12 const f = (p = eval("var arguments = 'param'"), q = () => arguments) => { 13 var arguments = "local"; 14 assert.sameValue(arguments, "local"); 15 assert.sameValue(q(), "param"); 16 count++; 17 } 18 f(); 19 assert.sameValue(count, 1); 20 assert.sameValue(globalThis.arguments, oldArguments, "globalThis.arguments unchanged"); 21 22 reportCompare(0, 0);