// Copyright (C) 2015 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- es6id: 14.3.9 description: Assignment of function `name` attribute ("get" accessor) info: | MethodDefinition : get PropertyName ( ) { FunctionBody } [...] 8. Perform SetFunctionName(closure, propKey, "get"). includes: [propertyHelper.js] features: [Symbol] ---*/ var namedSym = Symbol('test262'); var anonSym = Symbol(); var getter; class A { get id() {} get [anonSym]() {} get [namedSym]() {} static get id() {} static get [anonSym]() {} static get [namedSym]() {} } getter = Object.getOwnPropertyDescriptor(A.prototype, 'id').get; assert.sameValue(getter.name, 'get id'); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); getter = Object.getOwnPropertyDescriptor(A.prototype, anonSym).get; assert.sameValue(getter.name, 'get '); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); getter = Object.getOwnPropertyDescriptor(A.prototype, namedSym).get; assert.sameValue(getter.name, 'get [test262]'); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); getter = Object.getOwnPropertyDescriptor(A, 'id').get; assert.sameValue(getter.name, 'get id'); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); getter = Object.getOwnPropertyDescriptor(A, anonSym).get; assert.sameValue(getter.name, 'get '); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); getter = Object.getOwnPropertyDescriptor(A, namedSym).get; assert.sameValue(getter.name, 'get [test262]'); verifyNotEnumerable(getter, 'name'); verifyNotWritable(getter, 'name'); verifyConfigurable(getter, 'name'); reportCompare(0, 0);