// Debugger should be notified of scripts created with ExecuteInGlobalAndReturnScope. var g = newGlobal(); var g2 = newGlobal(); var dbg = new Debugger(g, g2); var log = ''; var canary = 42; dbg.onNewScript = function (evalScript) { log += 'e'; dbg.onNewScript = function (clonedScript) { log += 'c'; clonedScript.setBreakpoint(0, { hit(frame) { log += 'b'; assertEq(frame.script, clonedScript); } }); }; }; dbg.onDebuggerStatement = function (frame) { log += 'd'; }; assertEq(log, ''); var evalScopes = g.evalReturningScope("canary = 'dead'; let lex = 42; debugger; // nee", g2); assertEq(log, 'ecbd'); assertEq(canary, 42); assertEq(evalScopes.vars.canary, 'dead'); assertEq(evalScopes.lexicals.lex, 42);