onNewScript-01.js (831B)
1 // Basic newScript hook tests. 2 3 var g = newGlobal({newCompartment: true}); 4 var dbg = Debugger(g); 5 var seen = new WeakMap(); 6 var hits = 0; 7 dbg.onNewScript = function (s) { 8 // Exceptions thrown from onNewScript are swept under the rug, but they 9 // will at least prevent hits from being the expected number. 10 assertEq(s instanceof Debugger.Script, true); 11 assertEq(!seen.has(s), true); 12 seen.set(s, true); 13 hits++; 14 }; 15 16 dbg.uncaughtExceptionHook = function () { hits = -999; }; 17 18 // eval code 19 hits = 0; 20 assertEq(g.eval("2 + 2"), 4); 21 assertEq(hits, 1); 22 23 hits = 0; 24 assertEq(g.eval("eval('2 + 3')"), 5); 25 assertEq(hits, 2); 26 27 // global code 28 hits = 0; 29 g.evaluate("3 + 4"); 30 assertEq(hits, 1); 31 32 // function code 33 hits = 0; 34 var fn = g.Function("a", "return 5 + a;"); 35 assertEq(hits, 1); 36 assertEq(fn(8), 13); 37 assertEq(hits, 1);