| Index: test/mjsunit/harmony/proxies-enumerate.js | 
| diff --git a/test/mjsunit/harmony/proxies-enumerate.js b/test/mjsunit/harmony/proxies-enumerate.js | 
| index 0da706d9e101f0814ba5c0dab2ed4f815fa78b67..a77c668ee38a3f4ee4f396a7f7f3d56dbb3b66a7 100644 | 
| --- a/test/mjsunit/harmony/proxies-enumerate.js | 
| +++ b/test/mjsunit/harmony/proxies-enumerate.js | 
| @@ -3,7 +3,7 @@ | 
| // found in the LICENSE file. | 
|  | 
| // Flags: --harmony-proxies | 
| - | 
| +/* | 
| var target = { | 
| "target_one": 1 | 
| }; | 
| @@ -72,3 +72,39 @@ TestNonStringKey({bad: "value"}); | 
| TestNonStringKey(null); | 
| TestNonStringKey(undefined); | 
| TestNonStringKey(true); | 
| +*/ | 
| + | 
| +(function testProtoProxyEnumerate() { | 
| +  var keys = ['a', 'b', 'c', 'd']; | 
| +  var handler = { | 
| +   enumerate() { return keys[Symbol.iterator]() }, | 
| +   has(target, key) { return false } | 
| +  }; | 
| +  var proxy = new Proxy({}, handler); | 
| +  var seen_keys = []; | 
| +  for (var i in proxy) { | 
| +    seen_keys.push(i); | 
| +  } | 
| +  assertEquals([], seen_keys); | 
| + | 
| +  handler.has = function(target, key) { return true }; | 
| +  for (var i in proxy) { | 
| +    seen_keys.push(i); | 
| +  } | 
| +  assertEquals(keys, seen_keys); | 
| + | 
| +  o = {__proto__:proxy}; | 
| +  handler.has = function(target, key) { return false }; | 
| +  seen_keys = []; | 
| +  for (var i in o) { | 
| +    seen_keys.push(i); | 
| +  } | 
| +  assertEquals([], seen_keys); | 
| + | 
| +  handler.has = function(target, key) { return true }; | 
| +  seen_keys = []; | 
| +  for (var i in o) { | 
| +    seen_keys.push(i); | 
| +  } | 
| +  assertEquals(keys, seen_keys); | 
| +})(); | 
|  |