tor-browser

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

test_stepping-02.js (1517B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 /**
      7 * Check basic step-in functionality.
      8 */
      9 
     10 add_task(
     11  threadFrontTest(async ({ threadFront, debuggee }) => {
     12    dumpn("Evaluating test code and waiting for first debugger statement");
     13    const dbgStmt = await executeOnNextTickAndWaitForPause(
     14      () => evaluateTestCode(debuggee),
     15      threadFront
     16    );
     17    equal(
     18      dbgStmt.frame.where.line,
     19      2,
     20      "Should be at debugger statement on line 2"
     21    );
     22    equal(debuggee.a, undefined);
     23    equal(debuggee.b, undefined);
     24 
     25    const step1 = await stepIn(threadFront);
     26    equal(step1.why.type, "resumeLimit");
     27    equal(step1.frame.where.line, 3);
     28    equal(debuggee.a, undefined);
     29    equal(debuggee.b, undefined);
     30 
     31    const step3 = await stepIn(threadFront);
     32    equal(step3.why.type, "resumeLimit");
     33    equal(step3.frame.where.line, 4);
     34    equal(debuggee.a, 1);
     35    equal(debuggee.b, undefined);
     36 
     37    const step4 = await stepIn(threadFront);
     38    equal(step4.why.type, "resumeLimit");
     39    equal(step4.frame.where.line, 4);
     40    equal(debuggee.a, 1);
     41    equal(debuggee.b, 2);
     42  })
     43 );
     44 
     45 function evaluateTestCode(debuggee) {
     46  // prettier-ignore
     47  Cu.evalInSandbox(
     48    `                                   // 1
     49    debugger;                           // 2
     50    var a = 1;                          // 3
     51    var b = 2;`,                        // 4
     52    debuggee,
     53    "1.8",
     54    "test_stepping-01-test-code.js",
     55    1
     56  );
     57 }