diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/onNewScript-ExecuteInFrameScriptEnvironment.js')
-rw-r--r-- | js/src/jit-test/tests/debug/onNewScript-ExecuteInFrameScriptEnvironment.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/onNewScript-ExecuteInFrameScriptEnvironment.js b/js/src/jit-test/tests/debug/onNewScript-ExecuteInFrameScriptEnvironment.js new file mode 100644 index 0000000000..1cc57a9d3b --- /dev/null +++ b/js/src/jit-test/tests/debug/onNewScript-ExecuteInFrameScriptEnvironment.js @@ -0,0 +1,32 @@ +// ExecuteInFrameScriptEnvironment shouldn't create yet another script. + +var g = newGlobal({newCompartment: true}); +var g2 = newGlobal({newCompartment: true}); +var dbg = new Debugger(g, g2); +var log = ''; +var canary = 42; + +dbg.onNewScript = function (evalScript) { + log += 'e'; + + evalScript.setBreakpoint(0, { + hit(frame) { + log += 'b'; + assertEq(frame.script, evalScript); + } + }); + + dbg.onNewScript = function (anotherScript) { + log += '!'; + }; +}; + +dbg.onDebuggerStatement = function (frame) { + log += 'd'; +}; + +assertEq(log, ''); +var evalScope = g.evalReturningScope("canary = 'dead'; let lex = 42; debugger; // nee", g2); +assertEq(log, 'ebd'); +assertEq(canary, 42); +assertEq(evalScope.canary, 'dead'); |