summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/proxy/testWrapperGetInherited.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/proxy/testWrapperGetInherited.js')
-rw-r--r--js/src/jit-test/tests/proxy/testWrapperGetInherited.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/proxy/testWrapperGetInherited.js b/js/src/jit-test/tests/proxy/testWrapperGetInherited.js
new file mode 100644
index 0000000000..1ff767e920
--- /dev/null
+++ b/js/src/jit-test/tests/proxy/testWrapperGetInherited.js
@@ -0,0 +1,18 @@
+// Getting a property O.X, inherited from a transparent cross-compartment wrapper W
+// that wraps a Proxy P.
+
+var g = newGlobal();
+var target = {}
+var P = new Proxy(target, {
+ get(t, id, r) {
+ assertEq(t, target);
+ assertEq(id, "X");
+ assertEq(r, wO);
+ return "vega";
+ }
+});
+
+g.W = P;
+g.eval("var O = Object.create(W);");
+var wO = g.O;
+assertEq(g.eval("O.X"), "vega");