tor-browser

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

fn-name-method.js (1526B)


      1 // Copyright (C) 2015 the V8 project authors. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 es6id: 12.2.6.9
      6 description: Assignment of function `name` attribute (MethodDefinition)
      7 info: |
      8    6. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then
      9       a. Let hasNameProperty be HasOwnProperty(propValue, "name").
     10       b. ReturnIfAbrupt(hasNameProperty).
     11       c. If hasNameProperty is false, perform SetFunctionName(propValue,
     12          propKey).
     13 includes: [propertyHelper.js]
     14 features: [Symbol]
     15 ---*/
     16 
     17 var namedSym = Symbol('test262');
     18 var anonSym = Symbol();
     19 
     20 class A {
     21  id() {}
     22  [anonSym]() {}
     23  [namedSym]() {}
     24  static id() {}
     25  static [anonSym]() {}
     26  static [namedSym]() {}
     27 }
     28 
     29 verifyProperty(A.prototype.id, 'name', {
     30  value: 'id',
     31  writable: false,
     32  enumerable: false,
     33  configurable: true,
     34 });
     35 
     36 verifyProperty(A.prototype[anonSym], 'name', {
     37  value: '',
     38  writable: false,
     39  enumerable: false,
     40  configurable: true,
     41 });
     42 
     43 verifyProperty(A.prototype[namedSym], 'name', {
     44  value: '[test262]',
     45  writable: false,
     46  enumerable: false,
     47  configurable: true,
     48 });
     49 
     50 verifyProperty(A.id, 'name', {
     51  value: 'id',
     52  writable: false,
     53  enumerable: false,
     54  configurable: true,
     55 });
     56 
     57 verifyProperty(A[anonSym], 'name', {
     58  value: '',
     59  writable: false,
     60  enumerable: false,
     61  configurable: true,
     62 });
     63 
     64 verifyProperty(A[namedSym], 'name', {
     65  value: '[test262]',
     66  writable: false,
     67  enumerable: false,
     68  configurable: true,
     69 });
     70 
     71 reportCompare(0, 0);