Object-executeInGlobal-03.js (842B)
1 // Debugger.Object.prototype.executeInGlobal: closures capturing the global 2 3 var g = newGlobal({newCompartment: true}); 4 var h = newGlobal({newCompartment: true}); 5 var dbg = new Debugger; 6 var gw = dbg.addDebuggee(g); 7 var hw = dbg.addDebuggee(h); 8 9 g.x = "W H O K I L L"; 10 h.x = "No Color"; 11 var c1 = gw.executeInGlobal('(function () { return x; })').return; 12 var c2 = hw.executeInGlobal('(function () { return x; })').return; 13 var c3 = gw.executeInGlobalWithBindings('(function () { return x + y; })', { y:" In Rainbows" }).return; 14 var c4 = hw.executeInGlobalWithBindings('(function () { return x + y; })', { y:" In Rainbows" }).return; 15 16 assertEq(c1.call(null).return, "W H O K I L L"); 17 assertEq(c2.call(null).return, "No Color"); 18 assertEq(c3.call(null).return, "W H O K I L L In Rainbows"); 19 assertEq(c4.call(null).return, "No Color In Rainbows");