| Index: test/mjsunit/harmony/proxies-enumerate.js
|
| diff --git a/test/mjsunit/harmony/proxies-enumerate.js b/test/mjsunit/harmony/proxies-enumerate.js
|
| deleted file mode 100644
|
| index 32d6bb5873283500ec98ac6ec2e769601fa33a3f..0000000000000000000000000000000000000000
|
| --- a/test/mjsunit/harmony/proxies-enumerate.js
|
| +++ /dev/null
|
| @@ -1,64 +0,0 @@
|
| -// Copyright 2015 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.
|
| -
|
| -// Flags: --harmony-proxies
|
| -
|
| -var target = {
|
| - "target_one": 1
|
| -};
|
| -target.__proto__ = {
|
| - "target_two": 2
|
| -};
|
| -var handler = {
|
| - enumerate: function(target) {
|
| - function* keys() {
|
| - yield "foo";
|
| - yield "bar";
|
| - }
|
| - return keys();
|
| - }
|
| -}
|
| -
|
| -var proxy = new Proxy(target, handler);
|
| -
|
| -function TestForIn(receiver, expected) {
|
| - var result = [];
|
| - for (var k in receiver) {
|
| - result.push(k);
|
| - }
|
| - assertEquals(expected, result);
|
| -}
|
| -
|
| -TestForIn(proxy, ["foo", "bar"]);
|
| -
|
| -// Properly call traps on proxies on the prototype chain.
|
| -var receiver = {
|
| - "receiver_one": 1
|
| -};
|
| -receiver.__proto__ = proxy;
|
| -// TODO(jkummerow): Needs proper 'has' trap; implement that and enable this!
|
| -// TestForIn(receiver, ["receiver_one", "foo", "bar"]);
|
| -
|
| -// Fall through to default behavior when trap is undefined.
|
| -handler.enumerate = undefined;
|
| -TestForIn(proxy, ["target_one", "target_two"]);
|
| -delete handler.enumerate;
|
| -TestForIn(proxy, ["target_one", "target_two"]);
|
| -
|
| -// Non-string keys must be filtered.
|
| -function TestNonStringKey(key) {
|
| - handler.enumerate = function(target) {
|
| - function* keys() { yield key; }
|
| - return keys();
|
| - }
|
| - assertThrows("for (var k in proxy) {}", TypeError);
|
| -}
|
| -
|
| -TestNonStringKey(1);
|
| -TestNonStringKey(3.14);
|
| -TestNonStringKey(Symbol("foo"));
|
| -TestNonStringKey({bad: "value"});
|
| -TestNonStringKey(null);
|
| -TestNonStringKey(undefined);
|
| -TestNonStringKey(true);
|
|
|