aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js')
-rw-r--r--deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js b/deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js
new file mode 100644
index 0000000000..0d4a92f1b6
--- /dev/null
+++ b/deps/v8/test/mjsunit/es6/proxies-property-is-enumerable.js
@@ -0,0 +1,28 @@
+// 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.
+
+var handler = {};
+var target = { a: 1 };
+var proxy = new Proxy(target, handler);
+
+assertTrue(target.propertyIsEnumerable('a'));
+assertTrue(proxy.propertyIsEnumerable('a'));
+assertFalse(target.propertyIsEnumerable('b'));
+assertFalse(proxy.propertyIsEnumerable('b'));
+
+handler.getOwnPropertyDescriptor = function(target, prop) {
+ return { configurable: true, enumerable: true, value: 10 };
+}
+assertTrue(target.propertyIsEnumerable('a'));
+assertTrue(proxy.propertyIsEnumerable('a'));
+assertFalse(target.propertyIsEnumerable('b'));
+assertTrue(proxy.propertyIsEnumerable('b'));
+
+handler.getOwnPropertyDescriptor = function(target, prop) {
+ return { configurable: true, enumerable: false, value: 10 };
+}
+assertTrue(target.propertyIsEnumerable('a'));
+assertFalse(proxy.propertyIsEnumerable('a'));
+assertFalse(target.propertyIsEnumerable('b'));
+assertFalse(proxy.propertyIsEnumerable('b'));