tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

named-strict-error-reassign-fn-name-in-body-in-eval-strict.js (1115B)


      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-in-eval.case
      5 // - src/function-forms/expr-named/async-gen-func-expr-named-strict-error.template
      6 /*---
      7 description: Reassignment of function name is silently ignored in non-strict mode code. (async generator named function expression in strict mode code)
      8 esid: sec-asyncgenerator-definitions-evaluation
      9 features: [async-iteration]
     10 flags: [generated, async, onlyStrict]
     11 includes: [asyncHelpers.js]
     12 info: |
     13    AsyncGeneratorExpression :
     14        async function * BindingIdentifier ( FormalParameters ) { AsyncGeneratorBody }
     15 
     16 ---*/
     17 
     18 // increment callCount in case "body"
     19 let callCount = 0;
     20 let ref = async function * BindingIdentifier() {
     21  callCount++;
     22  eval("BindingIdentifier = 1");
     23  return BindingIdentifier;
     24 };
     25 
     26 asyncTest(async () => {
     27  let catchCount = 0;
     28  try {
     29    (await (await ref()).next()).value
     30  } catch (error) {
     31    catchCount++;
     32    assert(error instanceof TypeError);
     33  }
     34  assert.sameValue(catchCount, 1);
     35  assert.sameValue(callCount, 1);
     36 });