toolkit/devtools/server/tests/unit/test_add_actors.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 var gClient;
     5 var gActors;
     7 /**
     8  * The purpose of these tests is to verify that it's possible to add actors
     9  * both before and after the DebuggerServer has been initialized, so addons
    10  * that add actors don't have to poll the object for its initialization state
    11  * in order to add actors after initialization but rather can add actors anytime
    12  * regardless of the object's state.
    13  */
    14 function run_test()
    15 {
    16   DebuggerServer.addActors("resource://test/pre_init_global_actors.js");
    17   DebuggerServer.addActors("resource://test/pre_init_tab_actors.js");
    19   DebuggerServer.init(function () { return true; });
    20   DebuggerServer.addBrowserActors();
    22   DebuggerServer.addActors("resource://test/post_init_global_actors.js");
    23   DebuggerServer.addActors("resource://test/post_init_tab_actors.js");
    25   add_test(init);
    26   add_test(test_pre_init_global_actor);
    27   add_test(test_pre_init_tab_actor);
    28   add_test(test_post_init_global_actor);
    29   add_test(test_post_init_tab_actor);
    30   add_test(test_stable_global_actor_instances);
    31   add_test(close_client);
    32   run_next_test();
    33 }
    35 function init()
    36 {
    37   gClient = new DebuggerClient(DebuggerServer.connectPipe());
    38   gClient.connect(function onConnect() {
    39     gClient.listTabs(function onListTabs(aResponse) {
    40       gActors = aResponse;
    41       run_next_test();
    42     });
    43   });
    44 }
    46 function test_pre_init_global_actor()
    47 {
    48   gClient.request({ to: gActors.preInitGlobalActor, type: "ping" },
    49     function onResponse(aResponse) {
    50       do_check_eq(aResponse.message, "pong");
    51       run_next_test();
    52     }
    53   );
    54 }
    56 function test_pre_init_tab_actor()
    57 {
    58   gClient.request({ to: gActors.preInitTabActor, type: "ping" },
    59     function onResponse(aResponse) {
    60       do_check_eq(aResponse.message, "pong");
    61       run_next_test();
    62     }
    63   );
    64 }
    66 function test_post_init_global_actor()
    67 {
    68   gClient.request({ to: gActors.postInitGlobalActor, type: "ping" },
    69     function onResponse(aResponse) {
    70       do_check_eq(aResponse.message, "pong");
    71       run_next_test();
    72     }
    73   );
    74 }
    76 function test_post_init_tab_actor()
    77 {
    78   gClient.request({ to: gActors.postInitTabActor, type: "ping" },
    79     function onResponse(aResponse) {
    80       do_check_eq(aResponse.message, "pong");
    81       run_next_test();
    82     }
    83   );
    84 }
    86 // Get the object object, from the server side, for a given actor ID
    87 function getActorInstance(connID, actorID) {
    88   return DebuggerServer._connections[connID].getActor(actorID);
    89 }
    91 function test_stable_global_actor_instances()
    92 {
    93   // Consider that there is only one connection,
    94   // and the first one is ours
    95   let connID = Object.keys(DebuggerServer._connections)[0];
    96   let postInitGlobalActor = getActorInstance(connID, gActors.postInitGlobalActor);
    97   let preInitGlobalActor = getActorInstance(connID, gActors.preInitGlobalActor);
    98   gClient.listTabs(function onListTabs(aResponse) {
    99     do_check_eq(postInitGlobalActor, getActorInstance(connID, aResponse.postInitGlobalActor));
   100     do_check_eq(preInitGlobalActor, getActorInstance(connID, aResponse.preInitGlobalActor));
   101     run_next_test();
   102   });
   103 }
   105 function close_client() {
   106   gClient.close(() => run_next_test());
   107 }

mercurial