tor-browser

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

lineNumber.js (1266B)


      1 // Simple tests for evaluate's "lineNumber" option.
      2 
      3 load(libdir + 'asserts.js');
      4 
      5 const maxLine = Math.pow(2,32) - 1;
      6 
      7 assertEq(evaluate("saveStack().line"), 1);
      8 assertEq(evaluate("saveStack().line", { lineNumber: maxLine }), maxLine);
      9 assertEq(evaluate("\nsaveStack().line"), 2);
     10 assertEq(evaluate("\nsaveStack().line", { lineNumber: 1000 }), 1001);
     11 assertThrowsInstanceOf(() => evaluate("\nsaveStack().line", { lineNumber: maxLine }),
     12                       RangeError);
     13 
     14 if (helperThreadCount() > 0) {
     15  offThreadCompileToStencil("saveStack().line");
     16  var stencil = finishOffThreadStencil();
     17  assertEq(evalStencil(stencil), 1);
     18 
     19  offThreadCompileToStencil("saveStack().line", { lineNumber: maxLine });
     20  stencil = finishOffThreadStencil();
     21  assertEq(evalStencil(stencil), maxLine);
     22 
     23  offThreadCompileToStencil("\nsaveStack().line");
     24  stencil = finishOffThreadStencil();
     25  assertEq(evalStencil(stencil), 2);
     26 
     27  offThreadCompileToStencil("\nsaveStack().line", { lineNumber: 1000 });
     28  stencil = finishOffThreadStencil();
     29  assertEq(evalStencil(stencil), 1001);
     30 
     31  offThreadCompileToStencil("\nsaveStack().line", { lineNumber: maxLine });
     32  assertThrowsInstanceOf(() => {
     33    stencil = finishOffThreadStencil();
     34    evalStencil(stencil);
     35  }, RangeError);
     36 }