blob: 9c429fc48a831a1a9a64306a82b7bc0d0c4e4249 [file] [log] [blame]
// 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);
})();