tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

breakpoint-resume-01.js (795B)


      1 // A breakpoint handler hit method can return {throw: exc} to throw an exception.
      2 
      3 var g = newGlobal({newCompartment: true});
      4 var dbg = Debugger(g);
      5 dbg.onDebuggerStatement = function (frame) {
      6    function hit(frame) {
      7        return {throw: frame.eval("new Error('PASS')").return};
      8    }
      9 
     10    var s = frame.script;
     11    var offs = s.getLineOffsets(g.line0 + 3);
     12    for (var i = 0; i < offs.length; i++)
     13        s.setBreakpoint(offs[i], {hit: hit});
     14 };
     15 
     16 g.s = null;
     17 g.eval("line0 = Error().lineNumber;\n" +
     18       "debugger;\n" +          // line0 + 1
     19       "try {\n" +              // line0 + 2
     20       "    s = 'FAIL';\n" +    // line0 + 3
     21       "} catch (exc) {\n" +
     22       "    assertEq(exc.constructor, Error);\n" +
     23       "    s = exc.message;\n" +
     24       "}\n");
     25 assertEq(g.s, 'PASS');