diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/tests/test262/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js b/js/src/tests/test262/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js new file mode 100644 index 0000000000..d3c7d3824c --- /dev/null +++ b/js/src/tests/test262/language/eval-code/direct/arrow-fn-body-cntns-arguments-lex-bind-arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.js @@ -0,0 +1,22 @@ +// This file was procedurally generated from the following sources: +// - src/direct-eval-code/arrow-func-declare-arguments-assign-incl-def-param-arrow-arguments.case +// - src/direct-eval-code/arrow-func/fn-body-cntns-arguments-lex-bind.template +/*--- +description: Declare "arguments" and assign to it in direct eval code (Declare |arguments| when the function body contains an |arguments| lexical binding.) +esid: sec-evaldeclarationinstantiation +flags: [generated, noStrict] +---*/ + +const oldArguments = globalThis.arguments; +let count = 0; +const f = (p = eval("var arguments = 'param'"), q = () => arguments) => { + let arguments = "local"; + assert.sameValue(arguments, "local"); + assert.sameValue(q(), "param"); + count++; +} +f(); +assert.sameValue(count, 1); +assert.sameValue(globalThis.arguments, oldArguments, "globalThis.arguments unchanged"); + +reportCompare(0, 0); |