toolkit/devtools/server/tests/unit/test_breakpoint-09.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 removing a breakpoint works.
     6  */
     8 var gDebuggee;
     9 var gClient;
    10 var gThreadClient;
    12 function run_test()
    13 {
    14   initTestDebuggerServer();
    15   gDebuggee = addTestGlobal("test-stack");
    16   gClient = new DebuggerClient(DebuggerServer.connectPipe());
    17   gClient.connect(function () {
    18     attachTestTabAndResume(gClient, "test-stack", function (aResponse, aTabClient, aThreadClient) {
    19       gThreadClient = aThreadClient;
    20       test_remove_breakpoint();
    21     });
    22   });
    23   do_test_pending();
    24 }
    26 function test_remove_breakpoint()
    27 {
    28   let done = false;
    29   gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
    30     let path = getFilePath('test_breakpoint-09.js');
    31     let location = { url: path, line: gDebuggee.line0 + 2};
    32     gThreadClient.setBreakpoint(location, function (aResponse, bpClient) {
    33       gThreadClient.addOneTimeListener("paused", function (aEvent, aPacket) {
    34         // Check the return value.
    35         do_check_eq(aPacket.type, "paused");
    36         do_check_eq(aPacket.frame.where.url, path);
    37         do_check_eq(aPacket.frame.where.line, location.line);
    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         // Remove the breakpoint.
    44         bpClient.remove(function (aResponse) {
    45           done = true;
    46           gThreadClient.addOneTimeListener("paused",
    47                                            function (aEvent, aPacket) {
    48             // The breakpoint should not be hit again.
    49             gThreadClient.resume(function () {
    50               do_check_true(false);
    51             });
    52           });
    53           gThreadClient.resume();
    54         });
    56       });
    57       // Continue until the breakpoint is hit.
    58       gThreadClient.resume();
    60     });
    62   });
    64   gDebuggee.eval("var line0 = Error().lineNumber;\n" +
    65                  "function foo(stop) {\n" + // line0 + 1
    66                  "  this.a = 1;\n" +        // line0 + 2
    67                  "  if (stop) return;\n" +  // line0 + 3
    68                  "  delete this.a;\n" +     // line0 + 4
    69                  "  foo(true);\n" +         // line0 + 5
    70                  "}\n" +                    // line0 + 6
    71                  "debugger;\n" +            // line1 + 7
    72                  "foo();\n");               // line1 + 8
    73   if (!done) {
    74     do_check_true(false);
    75   }
    76   finishClient(gClient);
    77 }

mercurial