v8/test/mjsunit/accessors-no-prototype.js
Erik Arvidsson b67b3c5401 Accessor functions should have no prototype property
This also removes some convenience functions that were not used.

BUG=v8:3700
LOG=N
R=adamk@chromium.org, adamk

Review URL: https://codereview.chromium.org/883073008

Cr-Commit-Position: refs/heads/master@{#26472}
2015-02-05 23:34:28 +00:00

52 lines
1.1 KiB
JavaScript

// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
(function TestGetter() {
var o = {
get x() {}
};
var desc = Object.getOwnPropertyDescriptor(o, 'x');
assertEquals('function', typeof desc.get);
assertFalse('prototype' in desc.get);
assertThrows(function() {
new desc.get();
}, TypeError);
})();
(function TestSetter() {
var o = {
set x(_) {}
};
var desc = Object.getOwnPropertyDescriptor(o, 'x');
assertEquals('function', typeof desc.set);
assertFalse('prototype' in desc.set);
assertThrows(function() {
new desc.set();
}, TypeError);
})();
(function TestBoth() {
var o = {
get x() {},
set x(_) {}
};
var desc = Object.getOwnPropertyDescriptor(o, 'x');
assertEquals('function', typeof desc.get);
assertEquals('function', typeof desc.set);
assertFalse('prototype' in desc.get);
assertFalse('prototype' in desc.set);
assertThrows(function() {
new desc.get();
}, TypeError);
assertThrows(function() {
new desc.set();
}, TypeError);
})();