summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Environment-identity-05.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Environment-identity-05.js')
-rw-r--r--js/src/jit-test/tests/debug/Environment-identity-05.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Environment-identity-05.js b/js/src/jit-test/tests/debug/Environment-identity-05.js
new file mode 100644
index 000000000..c1d06b7e7
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Environment-identity-05.js
@@ -0,0 +1,19 @@
+// Tests that freshened blocks behave correctly in Debugger.
+
+var g = newGlobal();
+var dbg = Debugger(g);
+var log = '';
+var oldEnv = null;
+dbg.onDebuggerStatement = function (frame) {
+ if (!oldEnv) {
+ oldEnv = frame.environment;
+ } else {
+ // Block has been freshened by |for (let ...)|, should be different
+ // identity.
+ log += (oldEnv === frame.environment);
+ }
+ log += frame.environment.getVariable("x");
+};
+g.eval("for (let x = 0; x < 2; x++) debugger;");
+gc();
+assertEq(log, "0false1");