Environment-calleeScript-02.js (626B)
1 // Debugger.Environment.prototype.calleeScript gets the right script. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger; 5 var gw = dbg.addDebuggee(g); 6 7 g.eval('function f(x) { return function (y) { eval(""); debugger; return x + y; } }'); 8 g.eval('var g = f(2);'); 9 g.eval('var h = f(3);'); 10 11 function check(fun, label) { 12 print("check(" + label + ")"); 13 var hits; 14 dbg.onDebuggerStatement = function (frame) { 15 hits++; 16 var env = frame.environment; 17 assertEq(env.calleeScript, gw.makeDebuggeeValue(fun).script); 18 }; 19 hits = 0; 20 fun(); 21 assertEq(hits, 1); 22 } 23 24 check(g.g, 'g.g'); 25 check(g.h, 'g.h');