tor-browser

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

Frame-onStep-07.js (649B)


      1 // The tracejit does not interfere with frame.onStep.
      2 //
      3 // The function f() writes 'L' to the log in a loop. If we enable stepping and
      4 // write an 's' each time frame.onStep is called, any two Ls should have at
      5 // least one 's' between them.
      6 
      7 var g = newGlobal({newCompartment: true});
      8 g.N = 11;
      9 g.log = '';
     10 g.eval("function f() {\n" +
     11       "    for (var i = 0; i <= N; i++)\n" +
     12       "        log += 'L';\n" +
     13       "}\n");
     14 g.f();
     15 assertEq(/LL/.exec(g.log) !== null, true);
     16 
     17 var dbg = Debugger(g);
     18 dbg.onEnterFrame = function (frame) {
     19    frame.onStep = function () { g.log += 's'; };
     20 };
     21 g.log = '';
     22 g.f();
     23 assertEq(/LL/.exec(g.log), null);