tor-browser

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

fn-name-accessor-set.js (1799B)


      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: 14.3.9
      6 description: Assignment of function `name` attribute ("set" accessor)
      7 info: |
      8    MethodDefinition :
      9        set PropertyName ( PropertySetParameterList ) { FunctionBody }
     10 
     11    [...]
     12    7. Perform SetFunctionName(closure, propKey, "set").
     13 includes: [propertyHelper.js]
     14 features: [Symbol]
     15 ---*/
     16 
     17 var namedSym = Symbol('test262');
     18 var anonSym = Symbol();
     19 var setter;
     20 
     21 class A {
     22  set id(_) {}
     23  set [anonSym](_) {}
     24  set [namedSym](_) {}
     25  static set id(_) {}
     26  static set [anonSym](_) {}
     27  static set [namedSym](_) {}
     28 }
     29 
     30 setter = Object.getOwnPropertyDescriptor(A.prototype, 'id').set;
     31 verifyProperty(setter, 'name', {
     32  value: 'set id',
     33  writable: false,
     34  enumerable: false,
     35  configurable: true,
     36 });
     37 
     38 setter = Object.getOwnPropertyDescriptor(A.prototype, anonSym).set;
     39 verifyProperty(setter, 'name', {
     40  value: 'set ',
     41  writable: false,
     42  enumerable: false,
     43  configurable: true,
     44 });
     45 
     46 setter = Object.getOwnPropertyDescriptor(A.prototype, namedSym).set;
     47 verifyProperty(setter, 'name', {
     48  value: 'set [test262]',
     49  writable: false,
     50  enumerable: false,
     51  configurable: true,
     52 });
     53 
     54 setter = Object.getOwnPropertyDescriptor(A, 'id').set;
     55 verifyProperty(setter, 'name', {
     56  value: 'set id',
     57  writable: false,
     58  enumerable: false,
     59  configurable: true,
     60 });
     61 
     62 setter = Object.getOwnPropertyDescriptor(A, anonSym).set;
     63 verifyProperty(setter, 'name', {
     64  value: 'set ',
     65  writable: false,
     66  enumerable: false,
     67  configurable: true,
     68 });
     69 
     70 setter = Object.getOwnPropertyDescriptor(A, namedSym).set;
     71 verifyProperty(setter, 'name', {
     72  value: 'set [test262]',
     73  writable: false,
     74  enumerable: false,
     75  configurable: true,
     76 });
     77 
     78 reportCompare(0, 0);