Debugger-onNewGlobalObject-09.js (1051B)
1 // Resumption values from onNewGlobalObject handlers are disallowed. 2 3 load(libdir + 'asserts.js'); 4 5 var dbg = new Debugger; 6 var log; 7 8 dbg.onNewGlobalObject = function (g) { log += 'n'; return undefined; }; 9 log = ''; 10 assertEq(typeof newGlobal(), "object"); 11 assertEq(log, 'n'); 12 13 dbg.uncaughtExceptionHook = function (ex) { assertEq(/disallowed/.test(ex), true); log += 'u'; } 14 dbg.onNewGlobalObject = function (g) { log += 'n'; return { return: "snoo" }; }; 15 log = ''; 16 assertEq(typeof newGlobal(), "object"); 17 assertEq(log, 'nu'); 18 19 dbg.onNewGlobalObject = function (g) { log += 'n'; return { throw: "snoo" }; }; 20 log = ''; 21 assertEq(typeof newGlobal(), "object"); 22 assertEq(log, 'nu'); 23 24 dbg.onNewGlobalObject = function (g) { log += 'n'; return null; }; 25 log = ''; 26 assertEq(typeof newGlobal(), "object"); 27 assertEq(log, 'nu'); 28 29 dbg.uncaughtExceptionHook = function (ex) { assertEq(/foopy/.test(ex), true); log += 'u'; } 30 dbg.onNewGlobalObject = function (g) { log += 'n'; throw "foopy"; }; 31 log = ''; 32 assertEq(typeof newGlobal(), "object"); 33 assertEq(log, 'nu');