tor-browser

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

eval-export-dflt-expr-cls-name-meth.js (1304B)


      1 // |reftest| module
      2 // Copyright (C) 2016 the V8 project authors. All rights reserved.
      3 // This code is governed by the BSD license found in the LICENSE file.
      4 /*---
      5 description: >
      6    Default AssignmentExpression (which can be recognized as an "anonymous"
      7    class declaration with a static `name` method) is correctly initialized
      8    upon evaluation
      9 esid: sec-moduleevaluation
     10 info: |
     11    [...]
     12    16. Let result be the result of evaluating module.[[ECMAScriptCode]].
     13    [...]
     14 
     15    15.2.3.11 Runtime Semantics: Evaluation
     16 
     17    ExportDeclaration : export default ClassDeclaration
     18 
     19    [...]
     20    3. Let className be the sole element of BoundNames of ClassDeclaration.
     21    4. If className is "*default*", then
     22       a. Let hasNameProperty be ? HasOwnProperty(value, "name").
     23       b. If hasNameProperty is false, perform SetFunctionName(value,
     24          "default").
     25       c. Let env be the running execution context's LexicalEnvironment.
     26       d. Perform ? InitializeBoundName("*default*", value, env).
     27    5. Return NormalCompletion(empty).
     28 flags: [module]
     29 ---*/
     30 
     31 export default (class { static name() { return 'name method'; } });
     32 import C from './eval-export-dflt-expr-cls-name-meth.js';
     33 
     34 assert.sameValue(
     35  C.name(), 'name method', '`name` property is not over-written'
     36 );
     37 
     38 reportCompare(0, 0);