// 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); })();