tor-browser

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

Frame-onStack-06.js (633B)


      1 // frame.onStack is false for generator frames after they return.
      2 
      3 let g = newGlobal({newCompartment: true});
      4 g.eval("function* f() { debugger; }");
      5 
      6 let dbg = Debugger(g);
      7 let savedFrame;
      8 
      9 dbg.onDebuggerStatement = frame => {
     10    savedFrame = frame;
     11    assertEq(frame.callee.name, "f");
     12    assertEq(frame.onStack, true);
     13    frame.onPop = function() {
     14        assertEq(frame.onStack, true);
     15    };
     16 };
     17 g.f().next();
     18 
     19 assertEq(savedFrame.onStack, false);
     20 try {
     21    savedFrame.older;
     22    throw new Error("expected exception, none thrown");
     23 } catch (exc) {
     24    assertEq(exc.message, "Debugger.Frame is not on stack or suspended");
     25 }