diff options
Diffstat (limited to 'devtools/client/webide/test/test_runtime.html')
-rw-r--r-- | devtools/client/webide/test/test_runtime.html | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/devtools/client/webide/test/test_runtime.html b/devtools/client/webide/test/test_runtime.html deleted file mode 100644 index 9b16ef82d..000000000 --- a/devtools/client/webide/test/test_runtime.html +++ /dev/null @@ -1,203 +0,0 @@ -<!DOCTYPE html> - -<html> - - <head> - <meta charset="utf8"> - <title></title> - - <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> - <script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js"></script> - <script type="application/javascript;version=1.8" src="head.js"></script> - <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"> - </head> - - <body> - - <script type="application/javascript;version=1.8"> - window.onload = function() { - SimpleTest.waitForExplicitFinish(); - - let win; - - SimpleTest.registerCleanupFunction(() => { - Task.spawn(function*() { - if (win) { - yield closeWebIDE(win); - } - DebuggerServer.destroy(); - yield removeAllProjects(); - }); - }); - - Task.spawn(function*() { - function isPlayActive() { - return !win.document.querySelector("#cmd_play").hasAttribute("disabled"); - } - - function isStopActive() { - return !win.document.querySelector("#cmd_stop").hasAttribute("disabled"); - } - - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - win = yield openWebIDE(); - let docRuntime = getRuntimeDocument(win); - let docProject = getProjectDocument(win); - let winProject = getProjectWindow(win); - - let packagedAppLocation = getTestFilePath("app"); - - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - win.AppManager.runtimeList.usb.push({ - connect: function(connection) { - is(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }, - - get name() { - return "fakeRuntime"; - } - }); - - win.AppManager.runtimeList.usb.push({ - connect: function(connection) { - let deferred = promise.defer(); - return deferred.promise; - }, - - get name() { - return "infiniteRuntime"; - } - }); - - win.AppManager.runtimeList.usb.push({ - connect: function(connection) { - let deferred = promise.defer(); - return deferred.promise; - }, - - prolongedConnection: true, - - get name() { - return "prolongedRuntime"; - } - }); - - win.AppManager.update("runtime-list"); - - let panelNode = docRuntime.querySelector("#runtime-panel"); - let items = panelNode.querySelectorAll(".runtime-panel-item-usb"); - is(items.length, 3, "Found 3 runtime buttons"); - - let connectionsChanged = waitForConnectionChange("opened", 2); - items[0].click(); - - ok(win.document.querySelector("window").className, "busy", "UI is busy"); - yield win.UI._busyPromise; - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 2, "Connected"); - - yield waitForUpdate(win, "runtime-global-actors"); - - // Play button always disabled now, webapps actor removed - ok(!isPlayActive(), "play button is disabled"); - ok(!isStopActive(), "stop button is disabled"); - let oldProject = win.AppManager.selectedProject; - win.AppManager.selectedProject = null; - - yield nextTick(); - - ok(!isPlayActive(), "play button is disabled"); - ok(!isStopActive(), "stop button is disabled"); - win.AppManager._selectedProject = oldProject; - win.UI.updateCommands(); - - yield nextTick(); - - ok(!isPlayActive(), "play button is enabled"); - ok(!isStopActive(), "stop button is disabled"); - - connectionsChanged = waitForConnectionChange("closed", 2); - yield win.Cmds.disconnectRuntime(); - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 0, "Disconnected"); - - ok(win.AppManager.selectedProject, "A project is still selected"); - ok(!isPlayActive(), "play button is disabled"); - ok(!isStopActive(), "stop button is disabled"); - - connectionsChanged = waitForConnectionChange("opened", 2); - docRuntime.querySelectorAll(".runtime-panel-item-other")[1].click(); - - yield waitForUpdate(win, "runtime-targets"); - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 2, "Locally connected"); - - ok(win.AppManager.isMainProcessDebuggable(), "Main process available"); - - // Select main process - SimpleTest.executeSoon(() => { - docProject.querySelectorAll("#project-panel-runtimeapps .panel-item")[0].click(); - }); - - yield waitForUpdate(win, "project"); - - // Toolbox opens automatically for main process / runtime apps - ok(win.UI.toolboxPromise, "Toolbox promise exists"); - yield win.UI.toolboxPromise; - - yield win.Cmds.disconnectRuntime(); - - Services.prefs.setIntPref("devtools.webide.busyTimeout", 100); - - // Wait for error message since connection never completes - let errorDeferred = promise.defer(); - win.UI.reportError = errorName => { - if (errorName === "error_operationTimeout") { - errorDeferred.resolve(); - } - }; - - // Click the infinite runtime - items[1].click(); - ok(win.document.querySelector("window").className, "busy", "UI is busy"); - yield errorDeferred.promise; - - // Check for unexpected error message since this is prolonged - let noErrorDeferred = promise.defer(); - win.UI.reportError = errorName => { - if (errorName === "error_operationTimeout") { - noErrorDeferred.reject(); - } - }; - - // Click the prolonged runtime - items[2].click(); - ok(win.document.querySelector("window").className, "busy", "UI is busy"); - - setTimeout(() => { - noErrorDeferred.resolve(); - }, 1000); - - yield noErrorDeferred.promise; - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> |