toolkit/devtools/server/tests/unit/test_dbgglobal.js

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:8de7e519ab46
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
5 Cu.import("resource://gre/modules/devtools/dbg-client.jsm");
6
7 function run_test()
8 {
9 // Should get an exception if we try to interact with DebuggerServer
10 // before we initialize it...
11 check_except(function() {
12 DebuggerServer.openListener(-1);
13 });
14 check_except(DebuggerServer.closeListener);
15 check_except(DebuggerServer.connectPipe);
16
17 // Allow incoming connections.
18 DebuggerServer.init(function () { return true; });
19
20 // These should still fail because we haven't added a createRootActor
21 // implementation yet.
22 check_except(function() {
23 DebuggerServer.openListener(-1);
24 });
25 check_except(DebuggerServer.closeListener);
26 check_except(DebuggerServer.connectPipe);
27
28 DebuggerServer.addActors("resource://test/testactors.js");
29
30 // Now they should work.
31 DebuggerServer.openListener(-1);
32 DebuggerServer.closeListener();
33
34 // Make sure we got the test's root actor all set up.
35 let client1 = DebuggerServer.connectPipe();
36 client1.hooks = {
37 onPacket: function(aPacket1) {
38 do_check_eq(aPacket1.from, "root");
39 do_check_eq(aPacket1.applicationType, "xpcshell-tests");
40
41 // Spin up a second connection, make sure it has its own root
42 // actor.
43 let client2 = DebuggerServer.connectPipe();
44 client2.hooks = {
45 onPacket: function(aPacket2) {
46 do_check_eq(aPacket2.from, "root");
47 do_check_neq(aPacket1.testConnectionPrefix,
48 aPacket2.testConnectionPrefix);
49 client2.close();
50 },
51 onClosed: function(aResult) {
52 client1.close();
53 },
54 };
55 client2.ready();
56 },
57
58 onClosed: function(aResult) {
59 do_test_finished();
60 },
61 };
62
63 client1.ready();
64 do_test_pending();
65 }

mercurial