toolkit/devtools/server/tests/unit/test_breakpoint-10.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 /**
     5  * Check that setting a breakpoint in a line with multiple entry points
     6  * triggers no matter which entry point we reach.
     7  */
     9 var gDebuggee;
    10 var gClient;
    11 var gThreadClient;
    13 function run_test()
    14 {
    15   initTestDebuggerServer();
    16   gDebuggee = addTestGlobal("test-stack");
    17   gClient = new DebuggerClient(DebuggerServer.connectPipe());
    18   gClient.connect(function () {
    19     attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
    20       gThreadClient = aThreadClient;
    21       test_child_breakpoint();
    22     });
    23   });
    24   do_test_pending();
    25 }
    27 function test_child_breakpoint()
    28 {
    29   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
    30     let path = getFilePath('test_breakpoint-10.js');
    31     let location = { url: path, line: gDebuggee.line0 + 3};
    32     gThreadClient.setBreakpoint(location, function (aResponse, bpClient) {
    33       // actualLocation is not returned when breakpoints don't skip forward.
    34       do_check_eq(aResponse.actualLocation, undefined);
    35       gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
    36         // Check the return value.
    37         do_check_eq(aPacket.type, "paused");
    38         do_check_eq(aPacket.why.type, "breakpoint");
    39         do_check_eq(aPacket.why.actors[0], bpClient.actor);
    40         // Check that the breakpoint worked.
    41         do_check_eq(gDebuggee.i, 0);
    43         gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
    44           // Check the return value.
    45           do_check_eq(aPacket.type, "paused");
    46           do_check_eq(aPacket.why.type, "breakpoint");
    47           do_check_eq(aPacket.why.actors[0], bpClient.actor);
    48           // Check that the breakpoint worked.
    49           do_check_eq(gDebuggee.i, 1);
    51           // Remove the breakpoint.
    52           bpClient.remove(function (aResponse) {
    53             gThreadClient.resume(function () {
    54               finishClient(gClient);
    55             });
    56           });
    57         });
    59         // Continue until the breakpoint is hit again.
    60         gThreadClient.resume();
    62       });
    63       // Continue until the breakpoint is hit.
    64       gThreadClient.resume();
    66     });
    68   });
    71   gDebuggee.eval("var line0 = Error().lineNumber;\n" +
    72                  "debugger;\n" +                      // line0 + 1
    73                  "var a, i = 0;\n" +                  // line0 + 2
    74                  "for (i = 1; i <= 2; i++) {\n" +     // line0 + 3
    75                  "  a = i;\n" +                       // line0 + 4
    76                  "}\n");                              // line0 + 5
    77 }

mercurial