mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
a6e4e3afb3
--HG-- rename : browser/devtools/debugger/test/browser_dbg_createChrome.js => browser/devtools/debugger/test/browser_dbg_chrome-create.js rename : browser/devtools/debugger/test/browser_dbg_cmd_blackbox.js => browser/devtools/debugger/test/browser_dbg_cmd-blackbox.js rename : browser/devtools/debugger/test/browser_dbg_cmd_break.js => browser/devtools/debugger/test/browser_dbg_cmd-break.js rename : browser/devtools/debugger/test/browser_dbg_cmd.js => browser/devtools/debugger/test/browser_dbg_cmd-dbg.js rename : browser/devtools/debugger/test/browser_dbg_debuggerstatement.js => browser/devtools/debugger/test/browser_dbg_debugger-statement.js rename : browser/devtools/debugger/test/browser_dbg_bug731394_editor-contextmenu.js => browser/devtools/debugger/test/browser_dbg_editor-contextmenu.js rename : browser/devtools/debugger/test/browser_dbg_displayName.js => browser/devtools/debugger/test/browser_dbg_function-display-name.js rename : browser/devtools/debugger/test/browser_dbg_globalactor-01.js => browser/devtools/debugger/test/browser_dbg_globalactor.js rename : browser/devtools/debugger/test/browser_dbg_pane-collapse.js => browser/devtools/debugger/test/browser_dbg_instruments-pane-collapse.js rename : browser/devtools/debugger/test/browser_dbg_nav-01.js => browser/devtools/debugger/test/browser_dbg_navigation.js rename : browser/devtools/debugger/test/browser_dbg_bug868163_highight_on_pause.js => browser/devtools/debugger/test/browser_dbg_on-pause-highlight.js rename : browser/devtools/debugger/test/browser_dbg_bug883220_raise_on_pause.js => browser/devtools/debugger/test/browser_dbg_on-pause-raise.js rename : browser/devtools/debugger/test/browser_dbg_panesize-inner.js => browser/devtools/debugger/test/browser_dbg_panel-size.js rename : browser/devtools/debugger/test/browser_dbg_pause-exceptions.js => browser/devtools/debugger/test/browser_dbg_pause-exceptions-01.js rename : browser/devtools/debugger/test/browser_dbg_pause-exceptions-reload.js => browser/devtools/debugger/test/browser_dbg_pause-exceptions-02.js rename : browser/devtools/debugger/test/browser_dbg_reload-preferred-script.js => browser/devtools/debugger/test/browser_dbg_reload-preferred-script-01.js rename : browser/devtools/debugger/test/browser_dbg_bug727429_watch-expressions-01.js => browser/devtools/debugger/test/browser_dbg_watch-expressions-01.js rename : browser/devtools/debugger/test/browser_dbg_bug727429_watch-expressions-02.js => browser/devtools/debugger/test/browser_dbg_watch-expressions-02.js
74 lines
2.4 KiB
JavaScript
74 lines
2.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Check extension-added global actor API.
|
|
*/
|
|
|
|
const CHROME_URL = "chrome://mochitests/content/browser/browser/devtools/debugger/test/"
|
|
const ACTORS_URL = CHROME_URL + "testactors.js";
|
|
|
|
function test() {
|
|
let gClient;
|
|
|
|
if (!DebuggerServer.initialized) {
|
|
DebuggerServer.init(() => true);
|
|
DebuggerServer.addBrowserActors();
|
|
}
|
|
|
|
DebuggerServer.addActors(ACTORS_URL);
|
|
|
|
let transport = DebuggerServer.connectPipe();
|
|
gClient = new DebuggerClient(transport);
|
|
gClient.connect((aType, aTraits) => {
|
|
is(aType, "browser",
|
|
"Root actor should identify itself as a browser.");
|
|
|
|
gClient.listTabs(aResponse => {
|
|
let globalActor = aResponse.testGlobalActor1;
|
|
ok(globalActor, "Found the test tab actor.")
|
|
ok(globalActor.contains("test_one"),
|
|
"testGlobalActor1's actorPrefix should be used.");
|
|
|
|
gClient.request({ to: globalActor, type: "ping" }, aResponse => {
|
|
is(aResponse.pong, "pong", "Actor should respond to requests.");
|
|
|
|
// Send another ping to see if the same actor is used.
|
|
gClient.request({ to: globalActor, type: "ping" }, aResponse => {
|
|
is(aResponse.pong, "pong", "Actor should respond to requests.");
|
|
|
|
// Make sure that lazily-created actors are created only once.
|
|
let conn = transport._serverConnection;
|
|
|
|
// First we look for the pool of global actors.
|
|
let extraPools = conn._extraPools;
|
|
let globalPool;
|
|
|
|
for (let pool of extraPools) {
|
|
if (Object.keys(pool._actors).some(e => {
|
|
// Tab actors are in the global pool.
|
|
let re = new RegExp(conn._prefix + "tab", "g");
|
|
return e.match(re) !== null;
|
|
})) {
|
|
globalPool = pool;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Then we look if the global pool contains only one test actor.
|
|
let actorPrefix = conn._prefix + "test_one";
|
|
let actors = Object.keys(globalPool._actors).join();
|
|
info("Global actors: " + actors);
|
|
|
|
isnot(actors.indexOf(actorPrefix), -1,
|
|
"The test actor exists in the pool.");
|
|
is(actors.indexOf(actorPrefix), actors.lastIndexOf(actorPrefix),
|
|
"Only one actor exists in the pool.");
|
|
|
|
gClient.close(finish);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|