diff -r 000000000000 -r 6474c204b198 browser/devtools/profiler/test/browser_profiler_remote.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/profiler/test/browser_profiler_remote.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,55 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +const URL = "data:text/html;charset=utf8,
JavaScript Profiler test
"; + +let temp = {}; + +Cu.import("resource://gre/modules/devtools/dbg-server.jsm", temp); +let DebuggerServer = temp.DebuggerServer; + +Cu.import("resource://gre/modules/devtools/dbg-client.jsm", temp); +let DebuggerClient = temp.DebuggerClient; +let debuggerSocketConnect = temp.debuggerSocketConnect; + +Cu.import("resource:///modules/devtools/profiler/controller.js", temp); +let ProfilerController = temp.ProfilerController; + +function test() { + waitForExplicitFinish(); + Services.prefs.setBoolPref(REMOTE_ENABLED, true); + + loadTab(URL, function onTabLoad(tab, browser) { + DebuggerServer.init(function () true); + DebuggerServer.addBrowserActors(); + is(DebuggerServer._socketConnections, 0); + + DebuggerServer.openListener(2929); + is(DebuggerServer._socketConnections, 1); + + let transport = debuggerSocketConnect("127.0.0.1", 2929); + let client = new DebuggerClient(transport); + client.connect(function onClientConnect() { + let target = { isRemote: true, client: client }; + let controller = new ProfilerController(target); + + controller.connect(function onControllerConnect() { + // If this callback is called, this means listTabs call worked. + // Which means that the transport worked. Time to finish up this + // test. + + function onShutdown() { + window.removeEventListener("Debugger:Shutdown", onShutdown, true); + transport = client = null; + finish(); + } + + window.addEventListener("Debugger:Shutdown", onShutdown, true); + + client.close(function () { + gBrowser.removeTab(tab); + }); + }); + }); + }); +} \ No newline at end of file