tor-browser

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

bug911065.js (1021B)


      1 var g = newGlobal({newCompartment: true});
      2 var dbg = new Debugger;
      3 var gw = dbg.addDebuggee(g);
      4 
      5 g.eval(`                        //  1
      6 var line0 = Error().lineNumber; //  2
      7 function f() {                  //  3
      8    for (var x of [0]) {        //  4
      9        if (true == false)      //  5
     10            return false;       //  6, aka line0 + 4
     11    }                           //  7
     12    return true;                //  8
     13 }                               //  9
     14 `);                             // 10
     15 
     16 if (g.dis)
     17  g.dis(g.f);
     18 
     19 var script = gw.getOwnPropertyDescriptor("f").value.script;
     20 
     21 print("Debugger's view:");
     22 print("----------------");
     23 for (var i = script.startLine; i <= script.startLine + script.lineCount; i++) {
     24  print("Line " + i + ": " + JSON.stringify(script.getLineOffsets(i)));
     25 }
     26 
     27 var hits = 0;
     28 var handler = {hit: function () { hits++; }};
     29 var offs = script.getLineOffsets(g.line0 + 4);
     30 for (var i = 0; i < offs.length; i++)
     31    script.setBreakpoint(offs[i], handler);
     32 
     33 assertEq(g.f(), true);
     34 assertEq(hits, 0);