mirror of https://github.com/tc39/test262.git
44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
// Copyright (C) Copyright 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 ("set" accessor)
|
|
info: >
|
|
MethodDefinition :
|
|
set PropertyName ( PropertySetParameterList ) { FunctionBody }
|
|
|
|
[...]
|
|
7. Perform SetFunctionName(closure, propKey, "set").
|
|
includes: [propertyHelper.js]
|
|
features: [Symbol]
|
|
---*/
|
|
|
|
var namedSym = Symbol('test262');
|
|
var anonSym = Symbol();
|
|
var o, setter;
|
|
|
|
o = {
|
|
set id(_) {},
|
|
set [anonSym](_) {},
|
|
set [namedSym](_) {}
|
|
};
|
|
|
|
setter = Object.getOwnPropertyDescriptor(o, 'id').set;
|
|
assert.sameValue(setter.name, 'set id');
|
|
verifyNotEnumerable(setter, 'name');
|
|
verifyNotWritable(setter, 'name');
|
|
verifyConfigurable(setter, 'name');
|
|
|
|
setter = Object.getOwnPropertyDescriptor(o, anonSym).set;
|
|
assert.sameValue(setter.name, 'set ');
|
|
verifyNotEnumerable(setter, 'name');
|
|
verifyNotWritable(setter, 'name');
|
|
verifyConfigurable(setter, 'name');
|
|
|
|
setter = Object.getOwnPropertyDescriptor(o, namedSym).set;
|
|
assert.sameValue(setter.name, 'set [test262]');
|
|
verifyNotEnumerable(setter, 'name');
|
|
verifyNotWritable(setter, 'name');
|
|
verifyConfigurable(setter, 'name');
|