Chromium Code Reviews| Index: test/mjsunit/es6/proxies-keys.js |
| diff --git a/test/mjsunit/es6/proxies-keys.js b/test/mjsunit/es6/proxies-keys.js |
| index 2635ac3407379948c9075a3fd3ffa00a66c7b659..1cb726aac02186de5227b899ed149e25410f6047 100644 |
| --- a/test/mjsunit/es6/proxies-keys.js |
| +++ b/test/mjsunit/es6/proxies-keys.js |
| @@ -2,45 +2,49 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -var target = { |
| - target: 1 |
| -}; |
| -target.__proto__ = { |
| - target_proto: 2 |
| -}; |
| +(function testObjectKeys() { |
| + var target = { |
| + target: 1 |
| + }; |
| + target.__proto__ = { |
| + target_proto: 2 |
| + }; |
| -var handler = { |
| - ownKeys: function(target) { |
| - return ["foo", "bar", Symbol("baz"), "non-enum", "not-found"]; |
| - }, |
| - getOwnPropertyDescriptor: function(target, name) { |
| - if (name == "non-enum") return {configurable: true}; |
| - if (name == "not-found") return undefined; |
| - return {enumerable: true, configurable: true}; |
| + var handler = { |
| + ownKeys: function(target) { |
| + return ["foo", "bar", Symbol("baz"), "non-enum", "not-found"]; |
| + }, |
| + getOwnPropertyDescriptor: function(target, name) { |
| + if (name == "non-enum") return {configurable: true}; |
| + if (name == "not-found") return undefined; |
| + return {enumerable: true, configurable: true}; |
| + } |
| } |
| -} |
| -var proxy = new Proxy(target, handler); |
| + var proxy = new Proxy(target, handler); |
| -// Object.keys() ignores symbols and non-enumerable keys. |
| -assertEquals(["foo", "bar"], Object.keys(proxy)); |
| + // Object.keys() ignores symbols and non-enumerable keys. |
| + assertEquals(["foo", "bar"], Object.keys(proxy)); |
| -// Edge case: no properties left after filtering. |
| -handler.getOwnPropertyDescriptor = undefined; |
| -assertEquals([], Object.keys(proxy)); |
| + // Edge case: no properties left after filtering. |
| + handler.getOwnPropertyDescriptor = undefined; |
| + assertEquals([], Object.keys(proxy)); |
| -// Throwing shouldn't crash. |
| -handler.getOwnPropertyDescriptor = function() { throw new Number(1); }; |
| -assertThrows("Object.keys(proxy)", Number); |
| + // Throwing shouldn't crash. |
| + handler.getOwnPropertyDescriptor = function() { throw new Number(1); }; |
| + assertThrows("Object.keys(proxy)", Number); |
| -// Fall through to target if there is no trap. |
| -handler.ownKeys = undefined; |
| -assertEquals(["target"], Object.keys(proxy)); |
| -assertEquals(["target"], Object.keys(target)); |
| + // Fall through to target if there is no trap. |
|
adamk
2016/07/29 21:09:30
This comment should go below, and this comment sho
|
| + handler.ownKeys = undefined; |
| + assertThrows("Object.keys(proxy)", Number); |
| -var proxy2 = new Proxy(proxy, {}); |
| -assertEquals(["target"], Object.keys(proxy2)); |
| + handler.getOwnPropertyDescriptor = undefined; |
| + assertEquals(["target"], Object.keys(proxy)); |
| + assertEquals(["target"], Object.keys(target)); |
| + var proxy2 = new Proxy(proxy, {}); |
| + assertEquals(["target"], Object.keys(proxy2)); |
| +})(); |
| (function testForSymbols() { |
| var symbol = Symbol(); |