summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js')
-rw-r--r--js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js b/js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js
new file mode 100644
index 0000000000..11618c876f
--- /dev/null
+++ b/js/src/jit-test/tests/proxy/testDirectProxyGetOwnPropertyNames1.js
@@ -0,0 +1,30 @@
+// Forward to the target if the trap is not defined
+var objAB = Object.create(null, {
+ a: {
+ enumerable: true,
+ configurable: true
+ },
+ b: {
+ enumerable: false,
+ configurable: true
+ }
+});
+
+var objCD = Object.create(objAB, {
+ c: {
+ enumerable: true,
+ configurable: true
+ },
+ d: {
+ enumerable: false,
+ configurable: true
+ }
+});
+
+objCD[Symbol("moon")] = "something";
+for (let p of [new Proxy(objCD, {}), Proxy.revocable(objCD, {}).proxy]) {
+ var names = Object.getOwnPropertyNames(p);
+ assertEq(names.length, 2);
+ assertEq(names[0], 'c');
+ assertEq(names[1], 'd');
+}