| 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 | |
| 6 | |
| 7 | 5 |
| 8 traps = [ | 6 traps = [ |
| 9 "getPrototypeOf", "setPrototypeOf", "isExtensible", "preventExtensions", | 7 "getPrototypeOf", "setPrototypeOf", "isExtensible", "preventExtensions", |
| 10 "getOwnPropertyDescriptor", "has", "get", "set", "deleteProperty", | 8 "getOwnPropertyDescriptor", "has", "get", "set", "deleteProperty", |
| 11 "defineProperty", "ownKeys", "apply", "construct" | 9 "defineProperty", "ownKeys", "apply", "construct" |
| 12 ]; | 10 ]; |
| 13 | 11 |
| 14 var {proxy, revoke} = Proxy.revocable({}, {}); | 12 var {proxy, revoke} = Proxy.revocable({}, {}); |
| 15 assertEquals(0, revoke.length); | 13 assertEquals(0, revoke.length); |
| 16 | 14 |
| 17 assertEquals(undefined, revoke()); | 15 assertEquals(undefined, revoke()); |
| 18 for (var trap of traps) { | 16 for (var trap of traps) { |
| 19 assertThrows(() => Reflect[trap](proxy), TypeError); | 17 assertThrows(() => Reflect[trap](proxy), TypeError); |
| 20 } | 18 } |
| 21 | 19 |
| 22 assertEquals(undefined, revoke()); | 20 assertEquals(undefined, revoke()); |
| 23 for (var trap of traps) { | 21 for (var trap of traps) { |
| 24 assertThrows(() => Reflect[trap](proxy), TypeError); | 22 assertThrows(() => Reflect[trap](proxy), TypeError); |
| 25 } | 23 } |
| OLD | NEW |