named-strict-error-reassign-fn-name-in-body-strict.js (1075B)
1 // |reftest| async 2 'use strict'; 3 // This file was procedurally generated from the following sources: 4 // - src/function-forms/reassign-fn-name-in-body.case 5 // - src/function-forms/expr-named/async-func-expr-named-strict-error.template 6 /*--- 7 description: Reassignment of function name is silently ignored in non-strict mode code. (async function named expression in strict mode code) 8 esid: sec-async-function-definitions 9 features: [async-functions] 10 flags: [generated, async, onlyStrict] 11 includes: [asyncHelpers.js] 12 info: | 13 Async Function Definitions 14 15 AsyncFunctionExpression : 16 async function BindingIdentifier ( FormalParameters ) { AsyncFunctionBody } 17 18 ---*/ 19 20 // increment callCount in case "body" 21 let callCount = 0; 22 let ref = async function BindingIdentifier() { 23 callCount++; 24 BindingIdentifier = 1; 25 return BindingIdentifier; 26 }; 27 28 asyncTest(async () => { 29 let catchCount = 0; 30 try { 31 await ref() 32 } catch (error) { 33 catchCount++; 34 assert(error instanceof TypeError); 35 } 36 assert.sameValue(catchCount, 1); 37 assert.sameValue(callCount, 1); 38 });