tor-browser

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

Frame-onStep-16.js (838B)


      1 // Stepping through a function with a return statement should pause on
      2 // the closing brace of the function.
      3 
      4 var g = newGlobal({newCompartment: true});
      5 var dbg = Debugger(g);
      6 var log;
      7 
      8 function test(fnStr) {
      9  log = '';
     10  g.eval(fnStr);
     11 
     12  dbg.onDebuggerStatement = function(frame) {
     13        frame.onStep = function() {
     14      let {lineNumber, isEntryPoint} = frame.script.getOffsetLocation(frame.offset);
     15      if (isEntryPoint) {
     16        log += lineNumber + ' ';
     17      }
     18    };
     19  };
     20 
     21  g.eval("f(23);");
     22 }
     23 
     24 test("function f(x) {\n" +    // 1
     25     "    debugger;\n" +      // 2
     26     "    return 23 + x;\n" + // 3
     27     "}\n");                  // 4
     28 assertEq(log, '3 3 4 ');
     29 
     30 test("function f(x) {\n" +    // 1
     31     "    debugger;\n" +      // 2
     32     "    return;\n" +        // 3
     33     "}\n");                  // 4
     34 assertEq(log, '3 4 ');