diff options
Diffstat (limited to 'js/src/tests/test262/language/expressions/async-function/named-reassign-fn-name-in-body.js')
-rw-r--r-- | js/src/tests/test262/language/expressions/async-function/named-reassign-fn-name-in-body.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/expressions/async-function/named-reassign-fn-name-in-body.js b/js/src/tests/test262/language/expressions/async-function/named-reassign-fn-name-in-body.js new file mode 100644 index 0000000000..724ba98e4b --- /dev/null +++ b/js/src/tests/test262/language/expressions/async-function/named-reassign-fn-name-in-body.js @@ -0,0 +1,30 @@ +// |reftest| async +// This file was procedurally generated from the following sources: +// - src/function-forms/reassign-fn-name-in-body.case +// - src/function-forms/expr-named/async-func-expr-named-no-strict.template +/*--- +description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in non-strict mode code) +esid: sec-async-function-definitions +features: [async-functions] +flags: [generated, async, noStrict] +info: | + Async Function Definitions + + AsyncFunctionExpression : + async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } + +---*/ + +// increment callCount in case "body" +let callCount = 0; +let ref = async function BindingIdentifier() { + callCount++; + BindingIdentifier = 1; + return BindingIdentifier; +}; + +(async () => { + assert.sameValue(await ref(), ref); + assert.sameValue(callCount, 1, 'function invoked exactly once'); +})().then($DONE, $DONE); + |