toolkit/devtools/server/tests/unit/test_breakpoint-11.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  * Make sure that setting a breakpoint in a line with bytecodes in multiple
     6  * scripts, sets the breakpoint in all of them (bug 793214).
     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-11.js');
    31     let location = { url: path, line: gDebuggee.line0 + 2};
    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.a, undefined);
    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.a.b, 1);
    50           do_check_eq(gDebuggee.res, undefined);
    52           // Remove the breakpoint.
    53           bpClient.remove(function (aResponse) {
    54             gThreadClient.resume(function () {
    55               finishClient(gClient);
    56             });
    57           });
    58         });
    60         // Continue until the breakpoint is hit again.
    61         gThreadClient.resume();
    63       });
    64       // Continue until the breakpoint is hit.
    65       gThreadClient.resume();
    67     });
    69   });
    72   gDebuggee.eval("var line0 = Error().lineNumber;\n" +
    73                  "debugger;\n" +                      // line0 + 1
    74                  "var a = { b: 1, f: function() { return 2; } };\n" + // line0+2
    75                  "var res = a.f();\n");               // line0 + 3
    76 }

mercurial