mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
|
|
Cu.import("resource://gre/modules/devtools/dbg-client.jsm");
|
|
|
|
function run_test()
|
|
{
|
|
// Should get an exception if we try to interact with DebuggerServer
|
|
// before we initialize it...
|
|
check_except(function() {
|
|
DebuggerServer.openListener(-1);
|
|
});
|
|
check_except(DebuggerServer.closeListener);
|
|
check_except(DebuggerServer.connectPipe);
|
|
|
|
// Allow incoming connections.
|
|
DebuggerServer.init(function () { return true; });
|
|
|
|
// These should still fail because we haven't added a createRootActor
|
|
// implementation yet.
|
|
check_except(function() {
|
|
DebuggerServer.openListener(-1);
|
|
});
|
|
check_except(DebuggerServer.closeListener);
|
|
check_except(DebuggerServer.connectPipe);
|
|
|
|
DebuggerServer.addActors("resource://test/testactors.js");
|
|
|
|
// Now they should work.
|
|
DebuggerServer.openListener(-1);
|
|
DebuggerServer.closeListener();
|
|
|
|
// Make sure we got the test's root actor all set up.
|
|
let client1 = DebuggerServer.connectPipe();
|
|
client1.hooks = {
|
|
onPacket: function(aPacket1) {
|
|
do_check_eq(aPacket1.from, "root");
|
|
do_check_eq(aPacket1.applicationType, "xpcshell-tests");
|
|
|
|
// Spin up a second connection, make sure it has its own root
|
|
// actor.
|
|
let client2 = DebuggerServer.connectPipe();
|
|
client2.hooks = {
|
|
onPacket: function(aPacket2) {
|
|
do_check_eq(aPacket2.from, "root");
|
|
do_check_neq(aPacket1.testConnectionPrefix,
|
|
aPacket2.testConnectionPrefix);
|
|
client2.close();
|
|
},
|
|
onClosed: function(aResult) {
|
|
client1.close();
|
|
},
|
|
};
|
|
client2.ready();
|
|
},
|
|
|
|
onClosed: function(aResult) {
|
|
do_test_finished();
|
|
},
|
|
};
|
|
|
|
client1.ready();
|
|
do_test_pending();
|
|
}
|