Environment-02.js (599B)
1 // The last Environment on the environment chain always has .type == "object" and .object === the global object. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = new Debugger; 5 var gw = dbg.addDebuggee(g); 6 g.eval("function h() { debugger; }"); 7 var hits = 0; 8 dbg.onDebuggerStatement = function (hframe) { 9 var env = hframe.older.environment; 10 while (env.parent) 11 env = env.parent; 12 assertEq(env.type, "object"); 13 assertEq(env.object, gw); 14 hits++; 15 }; 16 17 g.eval("h();"); 18 g.eval("(function () { h(); return []; })();"); 19 g.eval("with (Math) { h(-2 * PI); }"); 20 assertEq(hits, 3);