summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Environment-names-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Environment-names-01.js')
-rw-r--r--js/src/jit-test/tests/debug/Environment-names-01.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Environment-names-01.js b/js/src/jit-test/tests/debug/Environment-names-01.js
new file mode 100644
index 0000000000..be053fe6e0
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Environment-names-01.js
@@ -0,0 +1,19 @@
+// env.names() lists nonenumerable names in with-statement environments.
+
+var g = newGlobal({newCompartment: true});
+var dbg = Debugger(g);
+var hits = 0;
+g.h = function () {
+ var env = dbg.getNewestFrame().environment;
+ var names = env.names();
+ assertEq(names.indexOf("a") !== -1, true);
+
+ // FIXME: Bug 748592 - proxies don't correctly propagate JSITER_HIDDEN
+ //assertEq(names.indexOf("b") !== -1, true);
+ //assertEq(names.indexOf("isPrototypeOf") !== -1, true);
+ hits++;
+};
+g.eval("var obj = {a: 1};\n" +
+ "Object.defineProperty(obj, 'b', {value: 2});\n" +
+ "with (obj) h();");
+assertEq(hits, 1);