| Index: test/mjsunit/es6/proxies-keys.js
|
| diff --git a/test/mjsunit/es6/proxies-keys.js b/test/mjsunit/es6/proxies-keys.js
|
| index 65dea6a5992c2debe1a141bcf60af621c7e4ea41..2635ac3407379948c9075a3fd3ffa00a66c7b659 100644
|
| --- a/test/mjsunit/es6/proxies-keys.js
|
| +++ b/test/mjsunit/es6/proxies-keys.js
|
| @@ -48,3 +48,31 @@ assertEquals(["target"], Object.keys(proxy2));
|
| assertEquals(["1","2"], Object.getOwnPropertyNames(p));
|
| assertEquals([symbol], Object.getOwnPropertySymbols(p));
|
| })();
|
| +
|
| +(function testNoProxyTraps() {
|
| + var test_sym = Symbol("sym1");
|
| + var test_sym2 = Symbol("sym2");
|
| + var target = {
|
| + one: 1,
|
| + two: 2,
|
| + [test_sym]: 4,
|
| + 0: 0,
|
| + };
|
| + Object.defineProperty(
|
| + target, "non-enum",
|
| + { enumerable: false, value: "nope", configurable: true, writable: true });
|
| + target.__proto__ = {
|
| + target_proto: 3,
|
| + 1: 1,
|
| + [test_sym2]: 5
|
| + };
|
| + Object.defineProperty(
|
| + target.__proto__, "non-enum2",
|
| + { enumerable: false, value: "nope", configurable: true, writable: true });
|
| + var proxy = new Proxy(target, {});
|
| +
|
| + assertEquals(["0", "one", "two"], Object.keys(proxy));
|
| + assertEquals(["0", "one", "two", "non-enum"],
|
| + Object.getOwnPropertyNames(proxy));
|
| + assertEquals([test_sym], Object.getOwnPropertySymbols(proxy));
|
| +})();
|
|
|