tor-browser

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

Frame-identity-02.js (617B)


      1 // Check that {throw:} resumption kills the current stack frame.
      2 
      3 load(libdir + "asserts.js");
      4 
      5 var g = newGlobal({newCompartment: true});
      6 g.debuggeeGlobal = this;
      7 g.eval("(" + function () {
      8        var dbg = new Debugger(debuggeeGlobal);
      9        var prev = null;
     10        dbg.onDebuggerStatement = function (frame) {
     11            assertEq(frame === prev, false);
     12            if (prev)
     13                assertEq(prev.onStack, false);
     14            prev = frame;
     15            return {throw: debuggeeGlobal.i};
     16        };
     17    } + ")();");
     18 
     19 function f() { debugger; }
     20 for (var i = 0; i < 10; i++)
     21    assertThrowsValue(f, i);