tor-browser

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

Frame-onStep-13.js (894B)


      1 // Stepping over a not-taken "if" that is at the end of the function
      2 // should move to the end of the function, not somewhere in the body
      3 // of the "if".
      4 
      5 var g = newGlobal({newCompartment: true});
      6 g.eval(`function f() {        // 1
      7  var a,c;                    // 2
      8  debugger;                   // 3
      9  if(false) {                 // 4
     10    for(var b=0; b<0; b++) {  // 5
     11      c = 2;                  // 6
     12    }                         // 7
     13  }                           // 8
     14 }                             // 9
     15 `);
     16 
     17 var dbg = Debugger(g);
     18 var badStep = false;
     19 
     20 dbg.onDebuggerStatement = function(frame) {
     21  let debugLine = frame.script.getOffsetLocation(frame.offset).lineNumber;
     22  assertEq(debugLine, 3);
     23  frame.onStep = function() {
     24    let foundLine = this.script.getOffsetLocation(this.offset).lineNumber;
     25    assertEq(foundLine <= 4 || foundLine >= 8, true);
     26  };
     27 };
     28 
     29 g.eval("f();\n");