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