summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Object-defineProperty-11.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Object-defineProperty-11.js')
-rw-r--r--js/src/jit-test/tests/debug/Object-defineProperty-11.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Object-defineProperty-11.js b/js/src/jit-test/tests/debug/Object-defineProperty-11.js
new file mode 100644
index 0000000000..03ed7d651e
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Object-defineProperty-11.js
@@ -0,0 +1,16 @@
+// obj.defineProperty works when obj's referent is a wrapper.
+
+var x = {};
+var g = newGlobal({newCompartment: true});
+g.x = x;
+var dbg = new Debugger;
+var gw = dbg.addDebuggee(g);
+var xw = gw.getOwnPropertyDescriptor("x").value;
+xw.defineProperty("p", {configurable: true, enumerable: true, writable: true, value: gw});
+assertEq(x.p, g);
+
+var desc = Object.getOwnPropertyDescriptor(x, "p");
+assertEq(desc.configurable, true);
+assertEq(desc.enumerable, true);
+assertEq(desc.writable, true);
+assertEq(desc.value, g);