OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --harmony-proxies --harmony-reflect | 5 // Flags: --harmony-proxies --harmony-reflect |
6 | 6 |
7 | 7 |
8 traps = [ | 8 traps = [ |
9 "getPrototypeOf", "setPrototypeOf", "isExtensible", "preventExtensions", | 9 "getPrototypeOf", "setPrototypeOf", "isExtensible", "preventExtensions", |
10 "getOwnPropertyDescriptor", "has", "get", "set", "deleteProperty", | 10 "getOwnPropertyDescriptor", "has", "get", "set", "deleteProperty", |
11 "defineProperty", "ownKeys", "apply", "construct" | 11 "defineProperty", "ownKeys", "apply", "construct" |
12 ]; | 12 ]; |
13 // TODO(neis): Fix enumerate. | |
14 | 13 |
15 var {proxy, revoke} = Proxy.revocable({}, {}); | 14 var {proxy, revoke} = Proxy.revocable({}, {}); |
16 assertEquals(0, revoke.length); | 15 assertEquals(0, revoke.length); |
17 | 16 |
18 assertEquals(undefined, revoke()); | 17 assertEquals(undefined, revoke()); |
19 for (var trap of traps) { | 18 for (var trap of traps) { |
20 assertThrows(() => Reflect[trap](proxy), TypeError); | 19 assertThrows(() => Reflect[trap](proxy), TypeError); |
21 } | 20 } |
22 | 21 |
23 assertEquals(undefined, revoke()); | 22 assertEquals(undefined, revoke()); |
24 for (var trap of traps) { | 23 for (var trap of traps) { |
25 assertThrows(() => Reflect[trap](proxy), TypeError); | 24 assertThrows(() => Reflect[trap](proxy), TypeError); |
26 } | 25 } |
OLD | NEW |