Index: test/mjsunit/accessors-no-prototype.js |
diff --git a/test/mjsunit/accessors-no-prototype.js b/test/mjsunit/accessors-no-prototype.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9c429fc48a831a1a9a64306a82b7bc0d0c4e4249 |
--- /dev/null |
+++ b/test/mjsunit/accessors-no-prototype.js |
@@ -0,0 +1,51 @@ |
+// 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); |
+})(); |