diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-13 02:41:46 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-13 02:41:46 +0200 |
commit | 197f4cbaa47e5e8b9b1fb578b10046914eb6486e (patch) | |
tree | 88385023b67d603f70c6ae42a653a6f4e9b0ae26 /devtools/client/webide/test | |
parent | 69970c911be3c9189006c61fea7c059bf4f7e005 (diff) | |
download | UXP-197f4cbaa47e5e8b9b1fb578b10046914eb6486e.tar UXP-197f4cbaa47e5e8b9b1fb578b10046914eb6486e.tar.gz UXP-197f4cbaa47e5e8b9b1fb578b10046914eb6486e.tar.lz UXP-197f4cbaa47e5e8b9b1fb578b10046914eb6486e.tar.xz UXP-197f4cbaa47e5e8b9b1fb578b10046914eb6486e.zip |
Remove WebIDE devtools component.
This resolves #1123
Diffstat (limited to 'devtools/client/webide/test')
75 files changed, 0 insertions, 3363 deletions
diff --git a/devtools/client/webide/test/.eslintrc.js b/devtools/client/webide/test/.eslintrc.js deleted file mode 100644 index 8d15a76d9..000000000 --- a/devtools/client/webide/test/.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -"use strict"; - -module.exports = { - // Extend from the shared list of defined globals for mochitests. - "extends": "../../../.eslintrc.mochitests.js" -}; diff --git a/devtools/client/webide/test/addons/adbhelper-linux.xpi b/devtools/client/webide/test/addons/adbhelper-linux.xpi Binary files differdeleted file mode 100644 index b56cc03e3..000000000 --- a/devtools/client/webide/test/addons/adbhelper-linux.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/adbhelper-linux64.xpi b/devtools/client/webide/test/addons/adbhelper-linux64.xpi Binary files differdeleted file mode 100644 index b56cc03e3..000000000 --- a/devtools/client/webide/test/addons/adbhelper-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/adbhelper-mac64.xpi b/devtools/client/webide/test/addons/adbhelper-mac64.xpi Binary files differdeleted file mode 100644 index b56cc03e3..000000000 --- a/devtools/client/webide/test/addons/adbhelper-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/adbhelper-win32.xpi b/devtools/client/webide/test/addons/adbhelper-win32.xpi Binary files differdeleted file mode 100644 index b56cc03e3..000000000 --- a/devtools/client/webide/test/addons/adbhelper-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxdt-adapters-linux32.xpi b/devtools/client/webide/test/addons/fxdt-adapters-linux32.xpi Binary files differdeleted file mode 100644 index 5a512ae3d..000000000 --- a/devtools/client/webide/test/addons/fxdt-adapters-linux32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxdt-adapters-linux64.xpi b/devtools/client/webide/test/addons/fxdt-adapters-linux64.xpi Binary files differdeleted file mode 100644 index 5a512ae3d..000000000 --- a/devtools/client/webide/test/addons/fxdt-adapters-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxdt-adapters-mac64.xpi b/devtools/client/webide/test/addons/fxdt-adapters-mac64.xpi Binary files differdeleted file mode 100644 index 5a512ae3d..000000000 --- a/devtools/client/webide/test/addons/fxdt-adapters-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxdt-adapters-win32.xpi b/devtools/client/webide/test/addons/fxdt-adapters-win32.xpi Binary files differdeleted file mode 100644 index 5a512ae3d..000000000 --- a/devtools/client/webide/test/addons/fxdt-adapters-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_1_0_simulator-linux.xpi b/devtools/client/webide/test/addons/fxos_1_0_simulator-linux.xpi Binary files differdeleted file mode 100644 index 238c97562..000000000 --- a/devtools/client/webide/test/addons/fxos_1_0_simulator-linux.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_1_0_simulator-linux64.xpi b/devtools/client/webide/test/addons/fxos_1_0_simulator-linux64.xpi Binary files differdeleted file mode 100644 index 2f86c4d4d..000000000 --- a/devtools/client/webide/test/addons/fxos_1_0_simulator-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_1_0_simulator-mac64.xpi b/devtools/client/webide/test/addons/fxos_1_0_simulator-mac64.xpi Binary files differdeleted file mode 100644 index 6da2fcbad..000000000 --- a/devtools/client/webide/test/addons/fxos_1_0_simulator-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_1_0_simulator-win32.xpi b/devtools/client/webide/test/addons/fxos_1_0_simulator-win32.xpi Binary files differdeleted file mode 100644 index 546deacaf..000000000 --- a/devtools/client/webide/test/addons/fxos_1_0_simulator-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_2_0_simulator-linux.xpi b/devtools/client/webide/test/addons/fxos_2_0_simulator-linux.xpi Binary files differdeleted file mode 100644 index e2335e3a0..000000000 --- a/devtools/client/webide/test/addons/fxos_2_0_simulator-linux.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_2_0_simulator-linux64.xpi b/devtools/client/webide/test/addons/fxos_2_0_simulator-linux64.xpi Binary files differdeleted file mode 100644 index 75fe209ea..000000000 --- a/devtools/client/webide/test/addons/fxos_2_0_simulator-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_2_0_simulator-mac64.xpi b/devtools/client/webide/test/addons/fxos_2_0_simulator-mac64.xpi Binary files differdeleted file mode 100644 index 58749f724..000000000 --- a/devtools/client/webide/test/addons/fxos_2_0_simulator-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_2_0_simulator-win32.xpi b/devtools/client/webide/test/addons/fxos_2_0_simulator-win32.xpi Binary files differdeleted file mode 100644 index 60cffd46e..000000000 --- a/devtools/client/webide/test/addons/fxos_2_0_simulator-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_simulator-linux.xpi b/devtools/client/webide/test/addons/fxos_3_0_simulator-linux.xpi Binary files differdeleted file mode 100644 index c54cae3aa..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_simulator-linux.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_simulator-linux64.xpi b/devtools/client/webide/test/addons/fxos_3_0_simulator-linux64.xpi Binary files differdeleted file mode 100644 index 9a650a888..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_simulator-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_simulator-mac64.xpi b/devtools/client/webide/test/addons/fxos_3_0_simulator-mac64.xpi Binary files differdeleted file mode 100644 index d13dd78de..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_simulator-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_simulator-win32.xpi b/devtools/client/webide/test/addons/fxos_3_0_simulator-win32.xpi Binary files differdeleted file mode 100644 index 92d5cc394..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_simulator-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux.xpi b/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux.xpi Binary files differdeleted file mode 100644 index 7a2a432ff..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux64.xpi b/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux64.xpi Binary files differdeleted file mode 100644 index d38932195..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-linux64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-mac64.xpi b/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-mac64.xpi Binary files differdeleted file mode 100644 index 48e271d54..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-mac64.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-win32.xpi b/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-win32.xpi Binary files differdeleted file mode 100644 index 4c8bb2f10..000000000 --- a/devtools/client/webide/test/addons/fxos_3_0_tv_simulator-win32.xpi +++ /dev/null diff --git a/devtools/client/webide/test/addons/simulators.json b/devtools/client/webide/test/addons/simulators.json deleted file mode 100644 index 31d71b4da..000000000 --- a/devtools/client/webide/test/addons/simulators.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "stable": ["1.0", "2.0"], - "unstable": ["3.0", "3.0_tv"] -} diff --git a/devtools/client/webide/test/app.zip b/devtools/client/webide/test/app.zip Binary files differdeleted file mode 100644 index 8a706a3c9..000000000 --- a/devtools/client/webide/test/app.zip +++ /dev/null diff --git a/devtools/client/webide/test/app/index.html b/devtools/client/webide/test/app/index.html deleted file mode 100644 index 3ef4a25e2..000000000 --- a/devtools/client/webide/test/app/index.html +++ /dev/null @@ -1,6 +0,0 @@ -<!doctype html> -<html> -<head><title></title></head> -<body> -</body> -</html> diff --git a/devtools/client/webide/test/app/manifest.webapp b/devtools/client/webide/test/app/manifest.webapp deleted file mode 100644 index 4a198b1ca..000000000 --- a/devtools/client/webide/test/app/manifest.webapp +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "A name (in app directory)", - "description": "desc", - "launch_path": "/index.html" -} diff --git a/devtools/client/webide/test/browser.ini b/devtools/client/webide/test/browser.ini deleted file mode 100644 index 7d6e2de72..000000000 --- a/devtools/client/webide/test/browser.ini +++ /dev/null @@ -1,12 +0,0 @@ -[DEFAULT] -tags = devtools -subsuite = devtools -support-files = - addons/simulators.json - doc_tabs.html - head.js - templates.json - -[browser_tabs.js] -skip-if = e10s # Bug 1072167 - browser_tabs.js test fails under e10s -[browser_widget.js] diff --git a/devtools/client/webide/test/browser_tabs.js b/devtools/client/webide/test/browser_tabs.js deleted file mode 100644 index 541c6b363..000000000 --- a/devtools/client/webide/test/browser_tabs.js +++ /dev/null @@ -1,84 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -"use strict"; - -const TEST_URI = "http://example.com/browser/devtools/client/webide/test/doc_tabs.html"; - -function test() { - waitForExplicitFinish(); - requestCompleteLog(); - - Task.spawn(function* () { - // Since we test the connections set below, destroy the server in case it - // was left open. - DebuggerServer.destroy(); - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - - let tab = yield addTab(TEST_URI); - - let win = yield openWebIDE(); - let docProject = getProjectDocument(win); - let docRuntime = getRuntimeDocument(win); - - yield connectToLocal(win, docRuntime); - - is(Object.keys(DebuggerServer._connections).length, 1, "Locally connected"); - - yield selectTabProject(win, docProject); - - ok(win.UI.toolboxPromise, "Toolbox promise exists"); - yield win.UI.toolboxPromise; - - let project = win.AppManager.selectedProject; - is(project.location, TEST_URI, "Location is correct"); - is(project.name, "example.com: Test Tab", "Name is correct"); - - // Ensure tab list changes are noticed - let tabsNode = docProject.querySelector("#project-panel-tabs"); - is(tabsNode.querySelectorAll(".panel-item").length, 2, "2 tabs available"); - yield removeTab(tab); - yield waitForUpdate(win, "project"); - yield waitForUpdate(win, "runtime-targets"); - is(tabsNode.querySelectorAll(".panel-item").length, 1, "1 tab available"); - - tab = yield addTab(TEST_URI); - - is(tabsNode.querySelectorAll(".panel-item").length, 2, "2 tabs available"); - - yield removeTab(tab); - - is(tabsNode.querySelectorAll(".panel-item").length, 2, "2 tabs available"); - - docProject.querySelector("#refresh-tabs").click(); - - yield waitForUpdate(win, "runtime-targets"); - - is(tabsNode.querySelectorAll(".panel-item").length, 1, "1 tab available"); - - yield win.Cmds.disconnectRuntime(); - yield closeWebIDE(win); - - DebuggerServer.destroy(); - }).then(finish, handleError); -} - -function connectToLocal(win, docRuntime) { - let deferred = promise.defer(); - win.AppManager.connection.once( - win.Connection.Events.CONNECTED, - () => deferred.resolve()); - docRuntime.querySelectorAll(".runtime-panel-item-other")[1].click(); - return deferred.promise; -} - -function selectTabProject(win, docProject) { - return Task.spawn(function* () { - yield waitForUpdate(win, "runtime-targets"); - let tabsNode = docProject.querySelector("#project-panel-tabs"); - let tabNode = tabsNode.querySelectorAll(".panel-item")[1]; - let project = waitForUpdate(win, "project"); - tabNode.click(); - yield project; - }); -} diff --git a/devtools/client/webide/test/browser_widget.js b/devtools/client/webide/test/browser_widget.js deleted file mode 100644 index 7cfb2782b..000000000 --- a/devtools/client/webide/test/browser_widget.js +++ /dev/null @@ -1,15 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -"use strict"; - -function test() { - waitForExplicitFinish(); - Task.spawn(function* () { - let win = yield openWebIDE(); - ok(document.querySelector("#webide-button"), "Found WebIDE button"); - Services.prefs.setBoolPref("devtools.webide.widget.enabled", false); - ok(!document.querySelector("#webide-button"), "WebIDE button uninstalled"); - yield closeWebIDE(win); - Services.prefs.clearUserPref("devtools.webide.widget.enabled"); - }).then(finish, handleError); -} diff --git a/devtools/client/webide/test/build_app1/package.json b/devtools/client/webide/test/build_app1/package.json deleted file mode 100644 index c6ae833e1..000000000 --- a/devtools/client/webide/test/build_app1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "webide": { - "prepackage": "echo \"{\\\"name\\\":\\\"hello\\\"}\" > manifest.webapp" - } -} diff --git a/devtools/client/webide/test/build_app2/manifest.webapp b/devtools/client/webide/test/build_app2/manifest.webapp deleted file mode 100644 index 0967ef424..000000000 --- a/devtools/client/webide/test/build_app2/manifest.webapp +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/devtools/client/webide/test/build_app2/package.json b/devtools/client/webide/test/build_app2/package.json deleted file mode 100644 index 5b7101620..000000000 --- a/devtools/client/webide/test/build_app2/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "webide": { - "prepackage": { - "command": "echo \"{\\\"name\\\":\\\"$NAME\\\"}\" > manifest.webapp", - "cwd": "./stage", - "env": ["NAME=world"] - }, - "packageDir": "./stage" - } -} diff --git a/devtools/client/webide/test/build_app2/stage/empty-directory b/devtools/client/webide/test/build_app2/stage/empty-directory deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/build_app2/stage/empty-directory +++ /dev/null diff --git a/devtools/client/webide/test/build_app_windows1/package.json b/devtools/client/webide/test/build_app_windows1/package.json deleted file mode 100644 index 036d2d767..000000000 --- a/devtools/client/webide/test/build_app_windows1/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "webide": { - "prepackage": "echo {\"name\":\"hello\"} > manifest.webapp" - } -} diff --git a/devtools/client/webide/test/build_app_windows2/manifest.webapp b/devtools/client/webide/test/build_app_windows2/manifest.webapp deleted file mode 100644 index 0967ef424..000000000 --- a/devtools/client/webide/test/build_app_windows2/manifest.webapp +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/devtools/client/webide/test/build_app_windows2/package.json b/devtools/client/webide/test/build_app_windows2/package.json deleted file mode 100644 index 83caf82ab..000000000 --- a/devtools/client/webide/test/build_app_windows2/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "webide": { - "prepackage": { - "command": "echo {\"name\":\"%NAME%\"} > manifest.webapp", - "cwd": "./stage", - "env": ["NAME=world"] - }, - "packageDir": "./stage" - } -} diff --git a/devtools/client/webide/test/build_app_windows2/stage/empty-directory b/devtools/client/webide/test/build_app_windows2/stage/empty-directory deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/build_app_windows2/stage/empty-directory +++ /dev/null diff --git a/devtools/client/webide/test/chrome.ini b/devtools/client/webide/test/chrome.ini deleted file mode 100644 index b492ccd9b..000000000 --- a/devtools/client/webide/test/chrome.ini +++ /dev/null @@ -1,71 +0,0 @@ -[DEFAULT] -tags = devtools -support-files = - app/index.html - app/manifest.webapp - app.zip - addons/simulators.json - addons/fxos_1_0_simulator-linux.xpi - addons/fxos_1_0_simulator-linux64.xpi - addons/fxos_1_0_simulator-win32.xpi - addons/fxos_1_0_simulator-mac64.xpi - addons/fxos_2_0_simulator-linux.xpi - addons/fxos_2_0_simulator-linux64.xpi - addons/fxos_2_0_simulator-win32.xpi - addons/fxos_2_0_simulator-mac64.xpi - addons/fxos_3_0_simulator-linux.xpi - addons/fxos_3_0_simulator-linux64.xpi - addons/fxos_3_0_simulator-win32.xpi - addons/fxos_3_0_simulator-mac64.xpi - addons/fxos_3_0_tv_simulator-linux.xpi - addons/fxos_3_0_tv_simulator-linux64.xpi - addons/fxos_3_0_tv_simulator-win32.xpi - addons/fxos_3_0_tv_simulator-mac64.xpi - addons/adbhelper-linux.xpi - addons/adbhelper-linux64.xpi - addons/adbhelper-win32.xpi - addons/adbhelper-mac64.xpi - addons/fxdt-adapters-linux32.xpi - addons/fxdt-adapters-linux64.xpi - addons/fxdt-adapters-win32.xpi - addons/fxdt-adapters-mac64.xpi - build_app1/package.json - build_app2/manifest.webapp - build_app2/package.json - build_app2/stage/empty-directory - build_app_windows1/package.json - build_app_windows2/manifest.webapp - build_app_windows2/package.json - build_app_windows2/stage/empty-directory - device_front_shared.js - head.js - hosted_app.manifest - templates.json - ../../shared/test/browser_devices.json - validator/* - -[test_basic.html] -[test_newapp.html] -skip-if = (os == "win" && os_version == "10.0") # Bug 1197053 -[test_import.html] -skip-if = (os == "linux") # Bug 1024734 -[test_duplicate_import.html] -[test_runtime.html] -[test_manifestUpdate.html] -[test_addons.html] -skip-if = true # Bug 1201392 - Update add-ons after migration -[test_device_runtime.html] -[test_device_permissions.html] -[test_autoconnect_runtime.html] -[test_autoselect_project.html] -[test_telemetry.html] -skip-if = true # Bug 1201392 - Update add-ons after migration -[test_device_preferences.html] -[test_device_settings.html] -[test_fullscreenToolbox.html] -[test_zoom.html] -[test_build.html] -[test_simulators.html] -skip-if = true # Bug 1281138 - intermittent failures -[test_toolbox.html] -[test_app_validator.html] diff --git a/devtools/client/webide/test/device_front_shared.js b/devtools/client/webide/test/device_front_shared.js deleted file mode 100644 index 0ddb5df21..000000000 --- a/devtools/client/webide/test/device_front_shared.js +++ /dev/null @@ -1,219 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -var customName; -var customValue; -var customValueType; -var customBtn; -var newField; -var change; -var doc; -var iframe; -var resetBtn; -var found = false; - -function setDocument(frame) { - iframe = frame; - doc = iframe.contentWindow.document; -} - -function fieldChange(fields, id) { - // Trigger existing field change - for (let field of fields) { - if (field.id == id) { - let button = doc.getElementById("btn-" + id); - found = true; - ok(button.classList.contains("hide"), "Default field detected"); - field.value = "custom"; - field.click(); - ok(!button.classList.contains("hide"), "Custom field detected"); - break; - } - } - ok(found, "Found " + id + " line"); -} - -function addNewField() { - found = false; - customName = doc.querySelector("#custom-value-name"); - customValue = doc.querySelector("#custom-value-text"); - customValueType = doc.querySelector("#custom-value-type"); - customBtn = doc.querySelector("#custom-value"); - change = doc.createEvent("HTMLEvents"); - change.initEvent("change", false, true); - - // Add a new custom string - customValueType.value = "string"; - customValueType.dispatchEvent(change); - customName.value = "new-string-field!"; - customValue.value = "test"; - customBtn.click(); - let newField = doc.querySelector("#new-string-field"); - if (newField) { - found = true; - is(newField.type, "text", "Custom type is a string"); - is(newField.value, "test", "Custom string new value is correct"); - } - ok(found, "Found new string field line"); - is(customName.value, "", "Custom string name reset"); - is(customValue.value, "", "Custom string value reset"); -} - -function addNewFieldWithEnter() { - // Add a new custom value with the <enter> key - found = false; - customName.value = "new-string-field-two"; - customValue.value = "test"; - let newAddField = doc.querySelector("#add-custom-field"); - let enter = doc.createEvent("KeyboardEvent"); - enter.initKeyEvent( - "keyup", true, true, null, false, false, false, false, 13, 0); - newAddField.dispatchEvent(enter); - newField = doc.querySelector("#new-string-field-two"); - if (newField) { - found = true; - is(newField.type, "text", "Custom type is a string"); - is(newField.value, "test", "Custom string new value is correct"); - } - ok(found, "Found new string field line"); - is(customName.value, "", "Custom string name reset"); - is(customValue.value, "", "Custom string value reset"); -} - -function editExistingField() { - // Edit existing custom string preference - newField.value = "test2"; - newField.click(); - is(newField.value, "test2", "Custom string existing value is correct"); -} - -function addNewFieldInteger() { - // Add a new custom integer preference with a valid integer - customValueType.value = "number"; - customValueType.dispatchEvent(change); - customName.value = "new-integer-field"; - customValue.value = 1; - found = false; - - customBtn.click(); - newField = doc.querySelector("#new-integer-field"); - if (newField) { - found = true; - is(newField.type, "number", "Custom type is a number"); - is(newField.value, "1", "Custom integer value is correct"); - } - ok(found, "Found new integer field line"); - is(customName.value, "", "Custom integer name reset"); - is(customValue.value, "", "Custom integer value reset"); -} - -var editFieldInteger = Task.async(function* () { - // Edit existing custom integer preference - newField.value = 3; - newField.click(); - is(newField.value, "3", "Custom integer existing value is correct"); - - // Reset a custom field - let resetBtn = doc.querySelector("#btn-new-integer-field"); - resetBtn.click(); - - try { - yield iframe.contentWindow.configView._defaultField; - } catch (err) { - let fieldRow = doc.querySelector("#row-new-integer-field"); - if (!fieldRow) { - found = false; - } - ok(!found, "Custom field removed"); - } -}); - -var resetExistingField = Task.async(function* (id) { - let existing = doc.getElementById(id); - existing.click(); - is(existing.checked, true, "Existing boolean value is correct"); - resetBtn = doc.getElementById("btn-" + id); - resetBtn.click(); - - yield iframe.contentWindow.configView._defaultField; - - ok(resetBtn.classList.contains("hide"), true, "Reset button hidden"); - is(existing.checked, true, "Existing field reset"); -}); - -var resetNewField = Task.async(function* (id) { - let custom = doc.getElementById(id); - custom.click(); - is(custom.value, "test", "New string value is correct"); - resetBtn = doc.getElementById("btn-" + id); - resetBtn.click(); - - yield iframe.contentWindow.configView._defaultField; - - ok(resetBtn.classList.contains("hide"), true, "Reset button hidden"); -}); - -function addNewFieldBoolean() { - customValueType.value = "boolean"; - customValueType.dispatchEvent(change); - customName.value = "new-boolean-field"; - customValue.checked = true; - found = false; - customBtn.click(); - newField = doc.querySelector("#new-boolean-field"); - if (newField) { - found = true; - is(newField.type, "checkbox", "Custom type is a checkbox"); - is(newField.checked, true, "Custom boolean value is correctly true"); - } - ok(found, "Found new boolean field line"); - - // Mouse event trigger - var mouseClick = new MouseEvent("click", { - canBubble: true, - cancelable: true, - view: doc.parent, - }); - - found = false; - customValueType.value = "boolean"; - customValueType.dispatchEvent(change); - customName.value = "new-boolean-field2"; - customValue.dispatchEvent(mouseClick); - customBtn.dispatchEvent(mouseClick); - newField = doc.querySelector("#new-boolean-field2"); - if (newField) { - found = true; - is(newField.checked, true, "Custom boolean value is correctly false"); - } - ok(found, "Found new second boolean field line"); - - is(customName.value, "", "Custom boolean name reset"); - is(customValue.checked, false, "Custom boolean value reset"); - - newField.click(); - is(newField.checked, false, "Custom boolean existing value is correct"); -} - -function searchFields(deck, keyword) { - // Search for a non-existent field - let searchField = doc.querySelector("#search-bar"); - searchField.value = "![o_O]!"; - searchField.click(); - - let fieldsTotal = doc.querySelectorAll("tr.edit-row").length; - let hiddenFields = doc.querySelectorAll("tr.hide"); - is(hiddenFields.length, fieldsTotal, "Search keyword not found"); - - // Search for existing fields - searchField.value = keyword; - searchField.click(); - hiddenFields = doc.querySelectorAll("tr.hide"); - isnot(hiddenFields.length, fieldsTotal, "Search keyword found"); - - doc.querySelector("#close").click(); - - ok(!deck.selectedPanel, "No panel selected"); -} diff --git a/devtools/client/webide/test/doc_tabs.html b/devtools/client/webide/test/doc_tabs.html deleted file mode 100644 index 4901289fc..000000000 --- a/devtools/client/webide/test/doc_tabs.html +++ /dev/null @@ -1,15 +0,0 @@ -<!-- Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ --> -<!doctype html> - -<html> - <head> - <meta charset="utf-8"/> - <title>Test Tab</title> - </head> - - <body> - Test Tab - </body> - -</html> diff --git a/devtools/client/webide/test/head.js b/devtools/client/webide/test/head.js deleted file mode 100644 index c0171c730..000000000 --- a/devtools/client/webide/test/head.js +++ /dev/null @@ -1,248 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -var {utils: Cu, classes: Cc, interfaces: Ci} = Components; - -const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {}); -const { FileUtils } = require("resource://gre/modules/FileUtils.jsm"); -const { gDevTools } = require("devtools/client/framework/devtools"); -const promise = require("promise"); -const Services = require("Services"); -const { Task } = require("devtools/shared/task"); -const { AppProjects } = require("devtools/client/webide/modules/app-projects"); -const DevToolsUtils = require("devtools/shared/DevToolsUtils"); -const { DebuggerServer } = require("devtools/server/main"); -const flags = require("devtools/shared/flags"); -flags.testing = true; - -var TEST_BASE; -if (window.location === "chrome://browser/content/browser.xul") { - TEST_BASE = "chrome://mochitests/content/browser/devtools/client/webide/test/"; -} else { - TEST_BASE = "chrome://mochitests/content/chrome/devtools/client/webide/test/"; -} - -Services.prefs.setBoolPref("devtools.webide.enabled", true); -Services.prefs.setBoolPref("devtools.webide.enableLocalRuntime", true); - -Services.prefs.setCharPref("devtools.webide.addonsURL", TEST_BASE + "addons/simulators.json"); -Services.prefs.setCharPref("devtools.webide.simulatorAddonsURL", TEST_BASE + "addons/fxos_#SLASHED_VERSION#_simulator-#OS#.xpi"); -Services.prefs.setCharPref("devtools.webide.adbAddonURL", TEST_BASE + "addons/adbhelper-#OS#.xpi"); -Services.prefs.setCharPref("devtools.webide.adaptersAddonURL", TEST_BASE + "addons/fxdt-adapters-#OS#.xpi"); -Services.prefs.setCharPref("devtools.webide.templatesURL", TEST_BASE + "templates.json"); -Services.prefs.setCharPref("devtools.devices.url", TEST_BASE + "browser_devices.json"); - -var registerCleanupFunction = registerCleanupFunction || - SimpleTest.registerCleanupFunction; -registerCleanupFunction(() => { - flags.testing = false; - Services.prefs.clearUserPref("devtools.webide.enabled"); - Services.prefs.clearUserPref("devtools.webide.enableLocalRuntime"); - Services.prefs.clearUserPref("devtools.webide.autoinstallADBHelper"); - Services.prefs.clearUserPref("devtools.webide.autoinstallFxdtAdapters"); - Services.prefs.clearUserPref("devtools.webide.busyTimeout"); - Services.prefs.clearUserPref("devtools.webide.lastSelectedProject"); - Services.prefs.clearUserPref("devtools.webide.lastConnectedRuntime"); -}); - -var openWebIDE = Task.async(function* (autoInstallAddons) { - info("opening WebIDE"); - - Services.prefs.setBoolPref("devtools.webide.autoinstallADBHelper", !!autoInstallAddons); - Services.prefs.setBoolPref("devtools.webide.autoinstallFxdtAdapters", !!autoInstallAddons); - - let ww = Cc["@mozilla.org/embedcomp/window-watcher;1"].getService(Ci.nsIWindowWatcher); - let win = ww.openWindow(null, "chrome://webide/content/", "webide", "chrome,centerscreen,resizable", null); - - yield new Promise(resolve => { - win.addEventListener("load", function onLoad() { - win.removeEventListener("load", onLoad); - SimpleTest.requestCompleteLog(); - SimpleTest.executeSoon(resolve); - }); - }); - - info("WebIDE open"); - - return win; -}); - -function closeWebIDE(win) { - info("Closing WebIDE"); - - let deferred = promise.defer(); - - Services.prefs.clearUserPref("devtools.webide.widget.enabled"); - - win.addEventListener("unload", function onUnload() { - win.removeEventListener("unload", onUnload); - info("WebIDE closed"); - SimpleTest.executeSoon(() => { - deferred.resolve(); - }); - }); - - win.close(); - - return deferred.promise; -} - -function removeAllProjects() { - return Task.spawn(function* () { - yield AppProjects.load(); - // use a new array so we're not iterating over the same - // underlying array that's being modified by AppProjects - let projects = AppProjects.projects.map(p => p.location); - for (let i = 0; i < projects.length; i++) { - yield AppProjects.remove(projects[i]); - } - }); -} - -function nextTick() { - let deferred = promise.defer(); - SimpleTest.executeSoon(() => { - deferred.resolve(); - }); - - return deferred.promise; -} - -function waitForUpdate(win, update) { - info("Wait: " + update); - let deferred = promise.defer(); - win.AppManager.on("app-manager-update", function onUpdate(e, what) { - info("Got: " + what); - if (what !== update) { - return; - } - win.AppManager.off("app-manager-update", onUpdate); - deferred.resolve(win.UI._updatePromise); - }); - return deferred.promise; -} - -function waitForTime(time) { - let deferred = promise.defer(); - setTimeout(() => { - deferred.resolve(); - }, time); - return deferred.promise; -} - -function documentIsLoaded(doc) { - let deferred = promise.defer(); - if (doc.readyState == "complete") { - deferred.resolve(); - } else { - doc.addEventListener("readystatechange", function onChange() { - if (doc.readyState == "complete") { - doc.removeEventListener("readystatechange", onChange); - deferred.resolve(); - } - }); - } - return deferred.promise; -} - -function lazyIframeIsLoaded(iframe) { - let deferred = promise.defer(); - iframe.addEventListener("load", function onLoad() { - iframe.removeEventListener("load", onLoad, true); - deferred.resolve(nextTick()); - }, true); - return deferred.promise; -} - -function addTab(aUrl, aWindow) { - info("Adding tab: " + aUrl); - - let deferred = promise.defer(); - let targetWindow = aWindow || window; - let targetBrowser = targetWindow.gBrowser; - - targetWindow.focus(); - let tab = targetBrowser.selectedTab = targetBrowser.addTab(aUrl); - let linkedBrowser = tab.linkedBrowser; - - BrowserTestUtils.browserLoaded(linkedBrowser).then(function () { - info("Tab added and finished loading: " + aUrl); - deferred.resolve(tab); - }); - - return deferred.promise; -} - -function removeTab(aTab, aWindow) { - info("Removing tab."); - - let deferred = promise.defer(); - let targetWindow = aWindow || window; - let targetBrowser = targetWindow.gBrowser; - let tabContainer = targetBrowser.tabContainer; - - tabContainer.addEventListener("TabClose", function onClose(aEvent) { - tabContainer.removeEventListener("TabClose", onClose, false); - info("Tab removed and finished closing."); - deferred.resolve(); - }, false); - - targetBrowser.removeTab(aTab); - return deferred.promise; -} - -function getRuntimeDocument(win) { - return win.document.querySelector("#runtime-listing-panel-details").contentDocument; -} - -function getProjectDocument(win) { - return win.document.querySelector("#project-listing-panel-details").contentDocument; -} - -function getRuntimeWindow(win) { - return win.document.querySelector("#runtime-listing-panel-details").contentWindow; -} - -function getProjectWindow(win) { - return win.document.querySelector("#project-listing-panel-details").contentWindow; -} - -function connectToLocalRuntime(win) { - info("Loading local runtime."); - - let panelNode; - let runtimePanel; - - runtimePanel = getRuntimeDocument(win); - - panelNode = runtimePanel.querySelector("#runtime-panel"); - let items = panelNode.querySelectorAll(".runtime-panel-item-other"); - is(items.length, 2, "Found 2 custom runtime buttons"); - - let updated = waitForUpdate(win, "runtime-global-actors"); - items[1].click(); - return updated; -} - -function handleError(aError) { - ok(false, "Got an error: " + aError.message + "\n" + aError.stack); - finish(); -} - -function waitForConnectionChange(expectedState, count = 1) { - return new Promise(resolve => { - let onConnectionChange = (_, state) => { - if (state != expectedState) { - return; - } - if (--count != 0) { - return; - } - DebuggerServer.off("connectionchange", onConnectionChange); - resolve(); - }; - DebuggerServer.on("connectionchange", onConnectionChange); - }); -} diff --git a/devtools/client/webide/test/hosted_app.manifest b/devtools/client/webide/test/hosted_app.manifest deleted file mode 100644 index ab5069978..000000000 --- a/devtools/client/webide/test/hosted_app.manifest +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "hosted manifest name property" -} diff --git a/devtools/client/webide/test/templates.json b/devtools/client/webide/test/templates.json deleted file mode 100644 index e6ffa3efe..000000000 --- a/devtools/client/webide/test/templates.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "file": "chrome://mochitests/content/chrome/devtools/client/webide/test/app.zip?1", - "icon": "ximgx1", - "name": "app name 1", - "description": "app description 1" - }, - { - "file": "chrome://mochitests/content/chrome/devtools/client/webide/test/app.zip?2", - "icon": "ximgx2", - "name": "app name 2", - "description": "app description 2" - } -] diff --git a/devtools/client/webide/test/test_addons.html b/devtools/client/webide/test/test_addons.html deleted file mode 100644 index 5a1bc7504..000000000 --- a/devtools/client/webide/test/test_addons.html +++ /dev/null @@ -1,176 +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(); - - const {GetAvailableAddons} = require("devtools/client/webide/modules/addons"); - const {Devices} = Cu.import("resource://devtools/shared/apps/Devices.jsm"); - const {Simulators} = require("devtools/client/webide/modules/simulators"); - - let adbAddonsInstalled = promise.defer(); - Devices.on("addon-status-updated", function onUpdate1() { - Devices.off("addon-status-updated", onUpdate1); - adbAddonsInstalled.resolve(); - }); - - function getVersion(name) { - return name.match(/(\d+\.\d+)/)[0]; - } - - function onSimulatorInstalled(name) { - let deferred = promise.defer(); - Simulators.on("updated", function onUpdate() { - Simulators.findSimulatorAddons().then(addons => { - for (let addon of addons) { - if (name == addon.name.replace(" Simulator", "")) { - Simulators.off("updated", onUpdate); - nextTick().then(deferred.resolve); - return; - } - } - }); - }); - return deferred.promise; - } - - function installSimulatorFromUI(doc, name) { - let li = doc.querySelector('[addon="simulator-' + getVersion(name) + '"]'); - li.querySelector(".install-button").click(); - return onSimulatorInstalled(name); - } - - function uninstallSimulatorFromUI(doc, name) { - let deferred = promise.defer(); - Simulators.on("updated", function onUpdate() { - nextTick().then(() => { - let li = doc.querySelector('[status="uninstalled"][addon="simulator-' + getVersion(name) + '"]'); - if (li) { - Simulators.off("updated", onUpdate); - deferred.resolve(); - } else { - deferred.reject("Can't find item"); - } - }); - }); - let li = doc.querySelector('[status="installed"][addon="simulator-' + getVersion(name) + '"]'); - li.querySelector(".uninstall-button").click(); - return deferred.promise; - } - - function uninstallADBFromUI(doc) { - let deferred = promise.defer(); - Devices.on("addon-status-updated", function onUpdate() { - nextTick().then(() => { - let li = doc.querySelector('[status="uninstalled"][addon="adb"]'); - if (li) { - Devices.off("addon-status-updated", onUpdate); - deferred.resolve(); - } else { - deferred.reject("Can't find item"); - } - }) - }); - let li = doc.querySelector('[status="installed"][addon="adb"]'); - li.querySelector(".uninstall-button").click(); - return deferred.promise; - } - - Task.spawn(function*() { - - ok(!Devices.helperAddonInstalled, "Helper not installed"); - - let win = yield openWebIDE(true); - let docRuntime = getRuntimeDocument(win); - - yield adbAddonsInstalled.promise; - - ok(Devices.helperAddonInstalled, "Helper has been auto-installed"); - - yield nextTick(); - - let addons = yield GetAvailableAddons(); - - is(addons.simulators.length, 3, "3 simulator addons to install"); - - let sim10 = addons.simulators.filter(a => a.version == "1.0")[0]; - sim10.install(); - - yield onSimulatorInstalled("Firefox OS 1.0"); - - win.Cmds.showAddons(); - - let frame = win.document.querySelector("#deck-panel-addons"); - let addonDoc = frame.contentWindow.document; - let lis; - - lis = addonDoc.querySelectorAll("li"); - is(lis.length, 5, "5 addons listed"); - - lis = addonDoc.querySelectorAll('li[status="installed"]'); - is(lis.length, 3, "3 addons installed"); - - lis = addonDoc.querySelectorAll('li[status="uninstalled"]'); - is(lis.length, 2, "2 addons uninstalled"); - - info("Uninstalling Simulator 2.0"); - - yield installSimulatorFromUI(addonDoc, "Firefox OS 2.0"); - - info("Uninstalling Simulator 3.0"); - - yield installSimulatorFromUI(addonDoc, "Firefox OS 3.0"); - - yield nextTick(); - - let panelNode = docRuntime.querySelector("#runtime-panel"); - let items; - - items = panelNode.querySelectorAll(".runtime-panel-item-usb"); - is(items.length, 1, "Found one runtime button"); - - items = panelNode.querySelectorAll(".runtime-panel-item-simulator"); - is(items.length, 3, "Found 3 simulators button"); - - yield uninstallSimulatorFromUI(addonDoc, "Firefox OS 1.0"); - yield uninstallSimulatorFromUI(addonDoc, "Firefox OS 2.0"); - yield uninstallSimulatorFromUI(addonDoc, "Firefox OS 3.0"); - - items = panelNode.querySelectorAll(".runtime-panel-item-simulator"); - is(items.length, 0, "No simulator listed"); - - let w = addonDoc.querySelector(".warning"); - let display = addonDoc.defaultView.getComputedStyle(w).display - is(display, "none", "Warning about missing ADB hidden"); - - yield uninstallADBFromUI(addonDoc, "adb"); - - items = panelNode.querySelectorAll(".runtime-panel-item-usb"); - is(items.length, 0, "No usb runtime listed"); - - display = addonDoc.defaultView.getComputedStyle(w).display - is(display, "block", "Warning about missing ADB present"); - - yield closeWebIDE(win); - - SimpleTest.finish(); - - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_app_validator.html b/devtools/client/webide/test/test_app_validator.html deleted file mode 100644 index 60ed29aac..000000000 --- a/devtools/client/webide/test/test_app_validator.html +++ /dev/null @@ -1,205 +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> - <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"> - </head> - - <body> - - <script type="application/javascript;version=1.8"> - const Cu = Components.utils; - const Cc = Components.classes; - const Ci = Components.interfaces; - Cu.import("resource://testing-common/httpd.js"); - const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {}); - - const {AppValidator} = require("devtools/client/webide/modules/app-validator"); - const Services = require("Services"); - const nsFile = Components.Constructor("@mozilla.org/file/local;1", - "nsILocalFile", "initWithPath"); - const cr = Cc["@mozilla.org/chrome/chrome-registry;1"] - .getService(Ci.nsIChromeRegistry); - const strings = Services.strings.createBundle("chrome://devtools/locale/app-manager.properties"); - let httpserver, origin; - - window.onload = function() { - SimpleTest.waitForExplicitFinish(); - - httpserver = new HttpServer(); - httpserver.start(-1); - origin = "http://localhost:" + httpserver.identity.primaryPort + "/"; - - next(); - } - - function createHosted(path, manifestFile="/manifest.webapp") { - let dirPath = getTestFilePath("validator/" + path); - httpserver.registerDirectory("/", nsFile(dirPath)); - return new AppValidator({ - type: "hosted", - location: origin + manifestFile - }); - } - - function createPackaged(path) { - let dirPath = getTestFilePath("validator/" + path); - return new AppValidator({ - type: "packaged", - location: dirPath - }); - } - - function next() { - let test = tests.shift(); - if (test) { - try { - test(); - } catch(e) { - console.error("exception", String(e), e, e.stack); - } - } else { - httpserver.stop(function() { - SimpleTest.finish(); - }); - } - } - - let tests = [ - // Test a 100% valid example - function () { - let validator = createHosted("valid"); - validator.validate().then(() => { - is(validator.errors.length, 0, "valid app got no error"); - is(validator.warnings.length, 0, "valid app got no warning"); - - next(); - }); - }, - - function () { - let validator = createPackaged("valid"); - validator.validate().then(() => { - is(validator.errors.length, 0, "valid packaged app got no error"); - is(validator.warnings.length, 0, "valid packaged app got no warning"); - - next(); - }); - }, - - // Test a launch path that returns a 404 - function () { - let validator = createHosted("wrong-launch-path"); - validator.validate().then(() => { - is(validator.errors.length, 1, "app with non-existant launch path got an error"); - is(validator.errors[0], strings.formatStringFromName("validator.accessFailedLaunchPathBadHttpCode", [origin + "wrong-path.html", 404], 2), - "with the right error message"); - is(validator.warnings.length, 0, "but no warning"); - next(); - }); - }, - function () { - let validator = createPackaged("wrong-launch-path"); - validator.validate().then(() => { - is(validator.errors.length, 1, "app with wrong path got an error"); - let file = nsFile(validator.location); - file.append("wrong-path.html"); - let url = Services.io.newFileURI(file); - is(validator.errors[0], strings.formatStringFromName("validator.accessFailedLaunchPath", [url.spec], 1), - "with the expected message"); - is(validator.warnings.length, 0, "but no warning"); - - next(); - }); - }, - - // Test when using a non-absolute path for launch_path - function () { - let validator = createHosted("non-absolute-path"); - validator.validate().then(() => { - is(validator.errors.length, 1, "app with non absolute path got an error"); - is(validator.errors[0], strings.formatStringFromName("validator.nonAbsoluteLaunchPath", ["non-absolute.html"], 1), - "with expected message"); - is(validator.warnings.length, 0, "but no warning"); - next(); - }); - }, - function () { - let validator = createPackaged("non-absolute-path"); - validator.validate().then(() => { - is(validator.errors.length, 1, "app with non absolute path got an error"); - is(validator.errors[0], strings.formatStringFromName("validator.nonAbsoluteLaunchPath", ["non-absolute.html"], 1), - "with expected message"); - is(validator.warnings.length, 0, "but no warning"); - next(); - }); - }, - - // Test multiple failures (missing name [error] and icon [warning]) - function () { - let validator = createHosted("no-name-or-icon"); - validator.validate().then(() => { - checkNoNameOrIcon(validator); - }); - }, - function () { - let validator = createPackaged("no-name-or-icon"); - validator.validate().then(() => { - checkNoNameOrIcon(validator); - }); - }, - - // Test a regular URL instead of a direct link to the manifest - function () { - let validator = createHosted("valid", "/"); - validator.validate().then(() => { - is(validator.warnings.length, 0, "manifest found got no warning"); - is(validator.errors.length, 0, "manifest found got no error"); - - next(); - }); - }, - - // Test finding a manifest at origin's root - function () { - let validator = createHosted("valid", "/unexisting-dir"); - validator.validate().then(() => { - is(validator.warnings.length, 0, "manifest found at origin root got no warning"); - is(validator.errors.length, 0, "manifest found at origin root got no error"); - - next(); - }); - }, - - // Test priorization of manifest.webapp at provided location instead of a manifest located at origin's root - function() { - let validator = createHosted("valid", "/alsoValid"); - validator.validate().then(() => { - is(validator.manifest.name, "valid at subfolder", "manifest at subfolder was used"); - - next(); - }); - } - ]; - - function checkNoNameOrIcon(validator) { - is(validator.errors.length, 1, "app with no name has an error"); - is(validator.errors[0], - strings.GetStringFromName("validator.missNameManifestProperty"), - "with expected message"); - is(validator.warnings.length, 1, "app with no icon has a warning"); - is(validator.warnings[0], - strings.GetStringFromName("validator.missIconsManifestProperty"), - "with expected message"); - next(); - } - - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_autoconnect_runtime.html b/devtools/client/webide/test/test_autoconnect_runtime.html deleted file mode 100644 index 3de00473a..000000000 --- a/devtools/client/webide/test/test_autoconnect_runtime.html +++ /dev/null @@ -1,94 +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(); - - Task.spawn(function*() { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - let docRuntime = getRuntimeDocument(win); - - let fakeRuntime = { - type: "USB", - connect: function(connection) { - is(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }, - - get id() { - return "fakeRuntime"; - }, - - get name() { - return "fakeRuntime"; - } - }; - win.AppManager.runtimeList.usb.push(fakeRuntime); - win.AppManager.update("runtime-list"); - - let panelNode = docRuntime.querySelector("#runtime-panel"); - let items = panelNode.querySelectorAll(".runtime-panel-item-usb"); - is(items.length, 1, "Found one runtime button"); - - 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"); - - connectionsChanged = waitForConnectionChange("closed", 2); - - yield nextTick(); - yield closeWebIDE(win); - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 0, "Disconnected"); - - connectionsChanged = waitForConnectionChange("opened", 2); - - win = yield openWebIDE(); - - win.AppManager.runtimeList.usb.push(fakeRuntime); - win.AppManager.update("runtime-list"); - - yield waitForUpdate(win, "runtime-targets"); - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 2, "Automatically reconnected"); - - yield win.Cmds.disconnectRuntime(); - - yield closeWebIDE(win); - - DebuggerServer.destroy(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_autoselect_project.html b/devtools/client/webide/test/test_autoselect_project.html deleted file mode 100644 index cd5793559..000000000 --- a/devtools/client/webide/test/test_autoselect_project.html +++ /dev/null @@ -1,110 +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(); - - Task.spawn(function* () { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - let docRuntime = getRuntimeDocument(win); - let docProject = getProjectDocument(win); - - let panelNode = docRuntime.querySelector("#runtime-panel"); - let items = panelNode.querySelectorAll(".runtime-panel-item-other"); - is(items.length, 2, "Found 2 runtime buttons"); - - // Connect to local runtime - let connectionsChanged = waitForConnectionChange("opened", 2); - items[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 - yield win.Cmds.showProjectPanel(); - yield waitForUpdate(win, "runtime-targets"); - SimpleTest.executeSoon(() => { - docProject.querySelectorAll("#project-panel-runtimeapps .panel-item")[0].click(); - }); - - yield waitForUpdate(win, "project"); - - let lastProject = Services.prefs.getCharPref("devtools.webide.lastSelectedProject"); - is(lastProject, "mainProcess:", "Last project is main process"); - - connectionsChanged = waitForConnectionChange("closed", 2); - - yield nextTick(); - yield closeWebIDE(win); - - yield connectionsChanged; - is(Object.keys(DebuggerServer._connections).length, 0, "Disconnected"); - - connectionsChanged = waitForConnectionChange("opened", 2); - - // Re-open, should reselect main process after connection - win = yield openWebIDE(); - - docRuntime = getRuntimeDocument(win); - - panelNode = docRuntime.querySelector("#runtime-panel"); - items = panelNode.querySelectorAll(".runtime-panel-item-other"); - is(items.length, 2, "Found 2 runtime buttons"); - - // Connect to local runtime - items[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"); - is(win.AppManager.selectedProject.type, "mainProcess", "Main process reselected"); - - // Wait for the toolbox to be fully loaded - yield win.UI.toolboxPromise; - - // If we happen to pass a project object targeting the same context, - // here, the main process, the `selectedProject` attribute shouldn't be updated - // so that no `project` event would fire. - let oldProject = win.AppManager.selectedProject; - win.AppManager.selectedProject = { - type: "mainProcess" - }; - is(win.AppManager.selectedProject, oldProject, "AppManager.selectedProject shouldn't be updated if we selected the same project"); - - yield win.Cmds.disconnectRuntime(); - - yield closeWebIDE(win); - - DebuggerServer.destroy(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_basic.html b/devtools/client/webide/test/test_basic.html deleted file mode 100644 index e619a0f06..000000000 --- a/devtools/client/webide/test/test_basic.html +++ /dev/null @@ -1,55 +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(); - - Task.spawn(function* () { - let win = yield openWebIDE(); - - const {gDevToolsBrowser} = require("devtools/client/framework/devtools-browser"); - yield gDevToolsBrowser.isWebIDEInitialized.promise; - ok(true, "WebIDE was initialized"); - - ok(win, "Found a window"); - ok(win.AppManager, "App Manager accessible"); - let appmgr = win.AppManager; - ok(appmgr.connection, "App Manager connection ready"); - ok(appmgr.runtimeList, "Runtime list ready"); - - // test error reporting - let nbox = win.document.querySelector("#notificationbox"); - let notification = nbox.getNotificationWithValue("webide:errornotification"); - ok(!notification, "No notification yet"); - let deferred = promise.defer(); - nextTick().then(() => { - deferred.reject("BOOM!"); - }); - try { - yield win.UI.busyUntil(deferred.promise, "xx"); - } catch(e) {/* This *will* fail */} - notification = nbox.getNotificationWithValue("webide:errornotification"); - ok(notification, "Error has been reported"); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_build.html b/devtools/client/webide/test/test_build.html deleted file mode 100644 index ffb01998c..000000000 --- a/devtools/client/webide/test/test_build.html +++ /dev/null @@ -1,128 +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 {TextDecoder, OS} = Cu.import("resource://gre/modules/osfile.jsm", {}); - let {ProjectBuilding} = require("devtools/client/webide/modules/build"); - - Task.spawn(function* () { - let win = yield openWebIDE(); - let winProject = getProjectWindow(win); - let AppManager = win.AppManager; - - function isProjectMarkedAsValid() { - let details = win.frames[0]; - return !details.document.body.classList.contains("error"); - } - - // # Test first package.json like this: `{webide: {prepackage: "command line string"}}` - let platform = Services.appShell.hiddenDOMWindow.navigator.platform; - let testSuffix = ""; - if (platform.indexOf("Win") != -1) { - testSuffix = "_windows"; - } - - let packagedAppLocation = getTestFilePath("build_app" + testSuffix + "1"); - - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - let project = win.AppManager.selectedProject; - - ok(!project.manifest, "manifest includes name"); - is(project.name, "--", "Display name uses manifest name"); - - let loggedMessages = []; - let logger = function (msg) { - loggedMessages.push(msg); - } - - yield ProjectBuilding.build({ - project, - logger - }); - let packageDir = yield ProjectBuilding.getPackageDir(project); - is(packageDir, packagedAppLocation, "no custom packagedir"); - is(loggedMessages[0], "start", "log messages are correct"); - ok(loggedMessages[1].indexOf("Running pre-package hook") != -1, "log messages are correct"); - is(loggedMessages[2], "Terminated with error code: 0", "log messages are correct"); - is(loggedMessages[3], "succeed", "log messages are correct"); - - // Trigger validation - yield AppManager.validateAndUpdateProject(AppManager.selectedProject); - yield nextTick(); - - ok("name" in project.manifest, "manifest includes name"); - is(project.name, "hello", "Display name uses manifest name"); - is(project.manifest.name, project.name, "Display name uses manifest name"); - - yield OS.File.remove(OS.Path.join(packagedAppLocation, "manifest.webapp")); - - // # Now test a full featured package.json - packagedAppLocation = getTestFilePath("build_app" + testSuffix + "2"); - - onValidated = waitForUpdate(win, "project-validated"); - onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - project = win.AppManager.selectedProject; - - loggedMessages = []; - yield ProjectBuilding.build({ - project, - logger - }); - packageDir = yield ProjectBuilding.getPackageDir(project); - is(OS.Path.normalize(packageDir), - OS.Path.join(packagedAppLocation, "stage"), "custom packagedir"); - is(loggedMessages[0], "start", "log messages are correct"); - ok(loggedMessages[1].indexOf("Running pre-package hook") != -1, "log messages are correct"); - is(loggedMessages[2], "Terminated with error code: 0", "log messages are correct"); - is(loggedMessages[3], "succeed", "log messages are correct"); - - // Switch to the package dir in order to verify the generated webapp.manifest - onValidated = waitForUpdate(win, "project-validated"); - onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packageDir); - yield onValidated; - yield onDetails; - - project = win.AppManager.selectedProject; - - ok("name" in project.manifest, "manifest includes name"); - is(project.name, "world", "Display name uses manifest name"); - is(project.manifest.name, project.name, "Display name uses manifest name"); - - yield closeWebIDE(win); - - yield removeAllProjects(); - - SimpleTest.finish(); - }); - } - - - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_device_permissions.html b/devtools/client/webide/test/test_device_permissions.html deleted file mode 100644 index eadd9f595..000000000 --- a/devtools/client/webide/test/test_device_permissions.html +++ /dev/null @@ -1,81 +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(); - - Task.spawn(function* () { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - - let permIframe = win.document.querySelector("#deck-panel-permissionstable"); - let docRuntime = getRuntimeDocument(win); - let winRuntime = getRuntimeWindow(win); - - yield connectToLocalRuntime(win); - - let perm = docRuntime.querySelector("#runtime-permissions"); - - ok(!perm.hasAttribute("disabled"), "perm cmd enabled"); - - let deck = win.document.querySelector("#deck"); - - winRuntime.runtimeList.showPermissionsTable(); - is(deck.selectedPanel, permIframe, "permission iframe selected"); - - yield nextTick(); - - yield lazyIframeIsLoaded(permIframe); - - yield permIframe.contentWindow.getRawPermissionsTablePromise; - - doc = permIframe.contentWindow.document; - trs = doc.querySelectorAll(".line"); - found = false; - for (let tr of trs) { - let [name,v1,v2,v3] = tr.querySelectorAll("td"); - if (name.textContent == "geolocation") { - found = true; - is(v1.className, "permprompt", "geolocation perm is valid"); - is(v2.className, "permprompt", "geolocation perm is valid"); - is(v3.className, "permprompt", "geolocation perm is valid"); - break; - } - } - ok(found, "Found geolocation line"); - - doc.querySelector("#close").click(); - - ok(!deck.selectedPanel, "No panel selected"); - - DebuggerServer.destroy(); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_device_preferences.html b/devtools/client/webide/test/test_device_preferences.html deleted file mode 100644 index c79db7f79..000000000 --- a/devtools/client/webide/test/test_device_preferences.html +++ /dev/null @@ -1,87 +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> - <script type="application/javascript;version=1.8" src="device_front_shared.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(); - - Task.spawn(function* () { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - - let prefIframe = win.document.querySelector("#deck-panel-devicepreferences"); - let docRuntime = getRuntimeDocument(win); - - win.AppManager.update("runtime-list"); - - yield connectToLocalRuntime(win); - - let prefs = docRuntime.querySelector("#runtime-preferences"); - - ok(!prefs.hasAttribute("disabled"), "device prefs cmd enabled"); - - let deck = win.document.querySelector("#deck"); - - win.Cmds.showDevicePrefs(); - is(deck.selectedPanel, prefIframe, "device preferences iframe selected"); - - yield nextTick(); - - yield lazyIframeIsLoaded(prefIframe); - - yield prefIframe.contentWindow.getAllPrefs; - - setDocument(prefIframe); - - let fields = doc.querySelectorAll(".editable"); - - addNewField(); - - let preference = "accessibility.accesskeycausesactivation"; - - fieldChange(fields, preference); - - addNewFieldWithEnter(); - - editExistingField(); - - addNewFieldInteger(); - - yield editFieldInteger(); - - yield resetExistingField("accessibility.accesskeycausesactivation"); - - addNewFieldBoolean(); - - searchFields(deck, "debugger"); - - DebuggerServer.destroy(); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_device_runtime.html b/devtools/client/webide/test/test_device_runtime.html deleted file mode 100644 index 0ac42b472..000000000 --- a/devtools/client/webide/test/test_device_runtime.html +++ /dev/null @@ -1,81 +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(); - - Task.spawn(function* () { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - - let detailsIframe = win.document.querySelector("#deck-panel-runtimedetails"); - - yield connectToLocalRuntime(win); - - let details = win.document.querySelector("#cmd_showRuntimeDetails"); - - ok(!details.hasAttribute("disabled"), "info cmd enabled"); - - let deck = win.document.querySelector("#deck"); - - win.Cmds.showRuntimeDetails(); - is(deck.selectedPanel, detailsIframe, "info iframe selected"); - - yield nextTick(); - - yield lazyIframeIsLoaded(detailsIframe); - - yield detailsIframe.contentWindow.getDescriptionPromise; - - // device info and permissions content is checked in other tests - // We just test one value to make sure we get something - - let doc = detailsIframe.contentWindow.document; - let trs = doc.querySelectorAll("tr"); - let found = false; - - for (let tr of trs) { - let [name,val] = tr.querySelectorAll("td"); - if (name.textContent == "appid") { - found = true; - is(val.textContent, Services.appinfo.ID, "appid has the right value"); - break; - } - } - ok(found, "Found appid line"); - - doc.querySelector("#close").click(); - - ok(!deck.selectedPanel, "No panel selected"); - - DebuggerServer.destroy(); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_device_settings.html b/devtools/client/webide/test/test_device_settings.html deleted file mode 100644 index ec8e7943b..000000000 --- a/devtools/client/webide/test/test_device_settings.html +++ /dev/null @@ -1,87 +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> - <script type="application/javascript;version=1.8" src="device_front_shared.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(); - - Task.spawn(function*() { - if (SpecialPowers.isMainProcess()) { - Cu.import("resource://gre/modules/SettingsRequestManager.jsm"); - } - - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - let win = yield openWebIDE(); - - let settingIframe = win.document.querySelector("#deck-panel-devicesettings"); - let docRuntime = getRuntimeDocument(win); - - win.AppManager.update("runtime-list"); - - yield connectToLocalRuntime(win); - - let settings = docRuntime.querySelector("#runtime-settings"); - - ok(!settings.hasAttribute("disabled"), "device settings cmd enabled"); - - let deck = win.document.querySelector("#deck"); - - win.Cmds.showSettings(); - is(deck.selectedPanel, settingIframe, "device settings iframe selected"); - - yield nextTick(); - - yield lazyIframeIsLoaded(settingIframe); - - yield settingIframe.contentWindow.getAllSettings; - - setDocument(settingIframe); - - let fields = doc.querySelectorAll(".editable"); - - addNewField(); - - addNewFieldWithEnter(); - - editExistingField(); - - addNewFieldInteger(); - - yield editFieldInteger(); - - yield resetNewField("new-string-field"); - - addNewFieldBoolean(); - - searchFields(deck, "new-boolean-field2"); - - DebuggerServer.destroy(); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_duplicate_import.html b/devtools/client/webide/test/test_duplicate_import.html deleted file mode 100644 index ef01e23e4..000000000 --- a/devtools/client/webide/test/test_duplicate_import.html +++ /dev/null @@ -1,77 +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(); - - Task.spawn(function*() { - let win = yield openWebIDE(); - let docProject = getProjectDocument(win); - let winProject = getProjectWindow(win); - let packagedAppLocation = getTestFilePath("app"); - let hostedAppManifest = TEST_BASE + "hosted_app.manifest"; - - yield win.AppProjects.load(); - is(win.AppProjects.projects.length, 0, "IDB is empty"); - - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - yield winProject.projectList.importHostedApp(hostedAppManifest); - yield waitForUpdate(win, "project-validated"); - yield nextTick(); - - onValidated = waitForUpdate(win, "project-validated"); - onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - let project = win.AppManager.selectedProject; - is(project.location, packagedAppLocation, "Correctly reselected existing packaged app."); - yield nextTick(); - - info("to call importHostedApp(" + hostedAppManifest + ") again"); - yield winProject.projectList.importHostedApp(hostedAppManifest); - yield waitForUpdate(win, "project-validated"); - project = win.AppManager.selectedProject; - is(project.location, hostedAppManifest, "Correctly reselected existing hosted app."); - yield nextTick(); - - let panelNode = docProject.querySelector("#project-panel"); - let items = panelNode.querySelectorAll(".panel-item"); - // 3 controls, + 2 projects - is(items.length, 5, "5 projects in panel"); - is(items[3].querySelector("span").textContent, "A name (in app directory)", "Panel text is correct"); - is(items[4].querySelector("span").textContent, "hosted manifest name property", "Panel text is correct"); - - yield closeWebIDE(win); - - yield removeAllProjects(); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> - diff --git a/devtools/client/webide/test/test_fullscreenToolbox.html b/devtools/client/webide/test/test_fullscreenToolbox.html deleted file mode 100644 index 6ae0c4446..000000000 --- a/devtools/client/webide/test/test_fullscreenToolbox.html +++ /dev/null @@ -1,67 +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"> - function connectToLocal(win, docRuntime) { - let deferred = promise.defer(); - win.AppManager.connection.once( - win.Connection.Events.CONNECTED, - () => deferred.resolve()); - docRuntime.querySelectorAll(".runtime-panel-item-other")[1].click(); - return deferred.promise; - } - - window.onload = function() { - SimpleTest.waitForExplicitFinish(); - - Task.spawn(function* () { - let win = yield openWebIDE(); - let docProject = getProjectDocument(win); - let docRuntime = getRuntimeDocument(win); - win.AppManager.update("runtime-list"); - - yield connectToLocal(win, docRuntime); - - // Select main process - yield waitForUpdate(win, "runtime-targets"); - SimpleTest.executeSoon(() => { - docProject.querySelectorAll("#project-panel-runtimeapps .panel-item")[0].click(); - }); - - yield waitForUpdate(win, "project"); - - ok(win.UI.toolboxPromise, "Toolbox promise exists"); - yield win.UI.toolboxPromise; - - let nbox = win.document.querySelector("#notificationbox"); - ok(!nbox.hasAttribute("toolboxfullscreen"), "Toolbox is not fullscreen"); - - win.Cmds.showRuntimeDetails(); - - ok(!nbox.hasAttribute("toolboxfullscreen"), "Toolbox is not fullscreen"); - - yield win.Cmds.disconnectRuntime(); - - yield closeWebIDE(win); - - DebuggerServer.destroy(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_import.html b/devtools/client/webide/test/test_import.html deleted file mode 100644 index 830198cca..000000000 --- a/devtools/client/webide/test/test_import.html +++ /dev/null @@ -1,82 +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(); - - Task.spawn(function*() { - let win = yield openWebIDE(); - let docProject = getProjectDocument(win); - let winProject = getProjectWindow(win); - let packagedAppLocation = getTestFilePath("app"); - - yield win.AppProjects.load(); - is(win.AppProjects.projects.length, 0, "IDB is empty"); - - info("to call importPackagedApp(" + packagedAppLocation + ")"); - ok(!win.UI._busyPromise, "UI is not busy"); - - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - let project = win.AppManager.selectedProject; - is(project.location, packagedAppLocation, "Location is valid"); - is(project.name, "A name (in app directory)", "name field has been updated"); - is(project.manifest.launch_path, "/index.html", "manifest found. launch_path valid."); - is(project.manifest.description, "desc", "manifest found. description valid"); - - yield nextTick(); - - let hostedAppManifest = TEST_BASE + "hosted_app.manifest"; - yield winProject.projectList.importHostedApp(hostedAppManifest); - yield waitForUpdate(win, "project-validated"); - - project = win.AppManager.selectedProject; - is(project.location, hostedAppManifest, "Location is valid"); - is(project.name, "hosted manifest name property", "name field has been updated"); - - yield nextTick(); - - hostedAppManifest = TEST_BASE + "/app"; - yield winProject.projectList.importHostedApp(hostedAppManifest); - yield waitForUpdate(win, "project-validated"); - - project = win.AppManager.selectedProject; - ok(project.location.endsWith('manifest.webapp'), "The manifest was found and the project was updated"); - - let panelNode = docProject.querySelector("#project-panel"); - let items = panelNode.querySelectorAll(".panel-item"); - // 4 controls, + 2 projects - is(items.length, 6, "6 projects in panel"); - is(items[3].querySelector("span").textContent, "A name (in app directory)", "Panel text is correct"); - is(items[4].querySelector("span").textContent, "hosted manifest name property", "Panel text is correct"); - - yield closeWebIDE(win); - - yield removeAllProjects(); - - SimpleTest.finish(); - }).then(null, e => { - ok(false, "Exception: " + e); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_manifestUpdate.html b/devtools/client/webide/test/test_manifestUpdate.html deleted file mode 100644 index 66f9affd0..000000000 --- a/devtools/client/webide/test/test_manifestUpdate.html +++ /dev/null @@ -1,98 +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 {TextDecoder, OS} = Cu.import("resource://gre/modules/osfile.jsm", {}); - - Task.spawn(function* () { - let win = yield openWebIDE(); - let winProject = getProjectWindow(win); - let AppManager = win.AppManager; - - function isProjectMarkedAsValid() { - let details = win.frames[1]; - return !details.document.body.classList.contains("error"); - } - - let packagedAppLocation = getTestFilePath("app"); - - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - - let project = win.AppManager.selectedProject; - - ok("name" in project.manifest, "manifest includes name"); - is(project.name, project.manifest.name, "Display name uses manifest name"); - ok(isProjectMarkedAsValid(), "project is marked as valid"); - - // Change the name - let originalName = project.manifest.name; - - project.manifest.name = "xxx"; - - // Write to disk - yield AppManager.writeManifest(project); - - // Read file - let manifestPath = OS.Path.join(packagedAppLocation, "manifest.webapp"); - let Decoder = new TextDecoder(); - let data = yield OS.File.read(manifestPath); - data = new TextDecoder().decode(data); - let json = JSON.parse(data); - is(json.name, "xxx", "manifest written on disc"); - - // Make the manifest invalid on disk - delete json.name; - let Encoder = new TextEncoder(); - data = Encoder.encode(JSON.stringify(json)); - yield OS.File.writeAtomic(manifestPath, data , {tmpPath: manifestPath + ".tmp"}); - - // Trigger validation - yield AppManager.validateAndUpdateProject(AppManager.selectedProject); - yield nextTick(); - - ok(!("name" in project.manifest), "manifest has been updated"); - is(project.name, "--", "Placeholder is used for display name"); - ok(!isProjectMarkedAsValid(), "project is marked as invalid"); - - // Make the manifest valid on disk - project.manifest.name = originalName; - yield AppManager.writeManifest(project); - - // Trigger validation - yield AppManager.validateAndUpdateProject(AppManager.selectedProject); - yield nextTick(); - - ok("name" in project.manifest, "manifest includes name"); - is(project.name, originalName, "Display name uses original manifest name"); - ok(isProjectMarkedAsValid(), "project is marked as valid"); - - yield closeWebIDE(win); - - yield removeAllProjects(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_newapp.html b/devtools/client/webide/test/test_newapp.html deleted file mode 100644 index 45374f268..000000000 --- a/devtools/client/webide/test/test_newapp.html +++ /dev/null @@ -1,46 +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(); - - Task.spawn(function* () { - let win = yield openWebIDE(); - let winProject = getProjectWindow(win); - let tmpDir = FileUtils.getDir("TmpD", []); - yield winProject.projectList.newApp({ - index: 0, - name: "webideTmpApp", - folder: tmpDir - }); - - let project = win.AppManager.selectedProject; - tmpDir = FileUtils.getDir("TmpD", ["webidetmpapp"]); - ok(tmpDir.isDirectory(), "Directory created"); - is(project.location, tmpDir.path, "Location is valid (and lowercase)"); - is(project.name, "webideTmpApp", "name field has been updated"); - - // Clean up - tmpDir.remove(true); - yield closeWebIDE(win); - yield removeAllProjects(); - SimpleTest.finish(); - }); - } - </script> - </body> -</html> 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> diff --git a/devtools/client/webide/test/test_simulators.html b/devtools/client/webide/test/test_simulators.html deleted file mode 100644 index 204881512..000000000 --- a/devtools/client/webide/test/test_simulators.html +++ /dev/null @@ -1,426 +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(); - - const asyncStorage = require("devtools/shared/async-storage"); - const EventEmitter = require("devtools/shared/event-emitter"); - const { GetAvailableAddons } = require("devtools/client/webide/modules/addons"); - const { getDevices } = require("devtools/client/shared/devices"); - const { Simulator, Simulators } = require("devtools/client/webide/modules/simulators"); - const { AddonSimulatorProcess, - OldAddonSimulatorProcess, - CustomSimulatorProcess } = require("devtools/client/webide/modules/simulator-process"); - - function addonStatus(addon, status) { - if (addon.status == status) { - return promise.resolve(); - } - let deferred = promise.defer(); - addon.on("update", function onUpdate() { - if (addon.status == status) { - addon.off("update", onUpdate); - nextTick().then(() => deferred.resolve()); - } - }); - return deferred.promise; - } - - function waitForUpdate(length) { - info(`Wait for update with length ${length}`); - let deferred = promise.defer(); - let handler = (_, data) => { - if (data.length != length) { - return; - } - info(`Got update with length ${length}`); - Simulators.off("updated", handler); - deferred.resolve(); - }; - Simulators.on("updated", handler); - return deferred.promise; - } - - Task.spawn(function* () { - let win = yield openWebIDE(false); - - yield Simulators._load(); - - let docRuntime = getRuntimeDocument(win); - let find = win.document.querySelector.bind(docRuntime); - let findAll = win.document.querySelectorAll.bind(docRuntime); - - let simulatorList = find("#runtime-panel-simulator"); - let simulatorPanel = win.document.querySelector("#deck-panel-simulator"); - - // Hack SimulatorProcesses to spy on simulation parameters. - - let runPromise; - function fakeRun() { - runPromise.resolve({ - path: this.b2gBinary.path, - args: this.args - }); - // Don't actually try to connect to the fake simulator. - throw new Error("Aborting on purpose before connection."); - } - - AddonSimulatorProcess.prototype.run = fakeRun; - OldAddonSimulatorProcess.prototype.run = fakeRun; - CustomSimulatorProcess.prototype.run = fakeRun; - - function runSimulator(i) { - runPromise = promise.defer(); - findAll(".runtime-panel-item-simulator")[i].click(); - return runPromise.promise; - } - - // Install fake "Firefox OS 1.0" simulator addon. - - let addons = yield GetAvailableAddons(); - - let sim10 = addons.simulators.filter(a => a.version == "1.0")[0]; - - sim10.install(); - - let updated = waitForUpdate(1); - yield addonStatus(sim10, "installed"); - yield updated; - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - is(findAll(".runtime-panel-item-simulator").length, 1, "One simulator in runtime panel"); - - // Install fake "Firefox OS 2.0" simulator addon. - - let sim20 = addons.simulators.filter(a => a.version == "2.0")[0]; - - sim20.install(); - - updated = waitForUpdate(2); - yield addonStatus(sim20, "installed"); - yield updated; - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - is(findAll(".runtime-panel-item-simulator").length, 2, "Two simulators in runtime panel"); - - // Dry run a simulator to verify that its parameters look right. - - let params = yield runSimulator(0); - - ok(params.path.includes(sim10.addonID) && params.path.includes("b2g-bin"), "Simulator binary path looks right"); - - let pid = params.args.indexOf("-profile"); - ok(pid > -1, "Simulator process arguments have --profile"); - - let profilePath = params.args[pid + 1]; - ok(profilePath.includes(sim10.addonID) && profilePath.includes("profile"), "Simulator profile path looks right"); - - ok(params.args.indexOf("-dbgport") > -1 || params.args.indexOf("-start-debugger-server") > -1, "Simulator process arguments have a debugger port"); - - ok(params.args.indexOf("-no-remote") > -1, "Simulator process arguments have --no-remote"); - - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - // Configure the fake 1.0 simulator. - - simulatorList.querySelectorAll(".configure-button")[0].click(); - is(win.document.querySelector("#deck").selectedPanel, simulatorPanel, "Simulator deck panel is selected"); - - yield lazyIframeIsLoaded(simulatorPanel); - - let doc = simulatorPanel.contentWindow.document; - let form = doc.querySelector("#simulator-editor"); - - let formReady = new Promise((resolve, reject) => { - form.addEventListener("change", () => { - resolve(); - }); - }); - - let change = doc.createEvent("HTMLEvents"); - change.initEvent("change", true, true); - - function set(input, value) { - input.value = value; - input.dispatchEvent(change); - return nextTick(); - } - - let MockFilePicker = SpecialPowers.MockFilePicker; - MockFilePicker.init(simulatorPanel.contentWindow); - - yield formReady; - - // Test `name`. - - is(form.name.value, find(".runtime-panel-item-simulator").textContent, "Original simulator name"); - - let customName = "CustomFox "; - yield set(form.name, customName + "1.0"); - - is(find(".runtime-panel-item-simulator").textContent, form.name.value, "Updated simulator name"); - - // Test `version`. - - is(form.version.value, sim10.addonID, "Original simulator version"); - ok(!form.version.classList.contains("custom"), "Version selector is not customized"); - - yield set(form.version, sim20.addonID); - - ok(!form.version.classList.contains("custom"), "Version selector is not customized after addon change"); - is(form.name.value, customName + "2.0", "Simulator name was updated to new version"); - - // Pick custom binary, but act like the user aborted the file picker. - - MockFilePicker.returnFiles = []; - yield set(form.version, "pick"); - - is(form.version.value, sim20.addonID, "Version selector reverted to last valid choice after customization abort"); - ok(!form.version.classList.contains("custom"), "Version selector is not customized after customization abort"); - - // Pick custom binary, and actually follow through. (success, verify value = "custom" and textContent = custom path) - - MockFilePicker.useAnyFile(); - yield set(form.version, "pick"); - - let fakeBinary = MockFilePicker.returnFiles[0]; - - ok(form.version.value == "custom", "Version selector was set to a new custom binary"); - ok(form.version.classList.contains("custom"), "Version selector is now customized"); - is(form.version.selectedOptions[0].textContent, fakeBinary.path, "Custom option textContent is correct"); - - yield set(form.version, sim10.addonID); - - ok(form.version.classList.contains("custom"), "Version selector remains customized after change back to addon"); - is(form.name.value, customName + "1.0", "Simulator name was updated to new version"); - - yield set(form.version, "custom"); - - ok(form.version.value == "custom", "Version selector is back to custom"); - - // Test `profile`. - - is(form.profile.value, "default", "Default simulator profile"); - ok(!form.profile.classList.contains("custom"), "Profile selector is not customized"); - - MockFilePicker.returnFiles = []; - yield set(form.profile, "pick"); - - is(form.profile.value, "default", "Profile selector reverted to last valid choice after customization abort"); - ok(!form.profile.classList.contains("custom"), "Profile selector is not customized after customization abort"); - - let fakeProfile = FileUtils.getDir("TmpD", []); - - MockFilePicker.returnFiles = [ fakeProfile ]; - yield set(form.profile, "pick"); - - ok(form.profile.value == "custom", "Profile selector was set to a new custom directory"); - ok(form.profile.classList.contains("custom"), "Profile selector is now customized"); - is(form.profile.selectedOptions[0].textContent, fakeProfile.path, "Custom option textContent is correct"); - - yield set(form.profile, "default"); - - is(form.profile.value, "default", "Profile selector back to default"); - ok(form.profile.classList.contains("custom"), "Profile selector remains customized after change back to default"); - - yield set(form.profile, "custom"); - - is(form.profile.value, "custom", "Profile selector back to custom"); - - params = yield runSimulator(0); - - is(params.path, fakeBinary.path, "Simulator process uses custom binary path"); - - pid = params.args.indexOf("-profile"); - is(params.args[pid + 1], fakeProfile.path, "Simulator process uses custom profile directory"); - - yield set(form.version, sim10.addonID); - - is(form.name.value, customName + "1.0", "Simulator restored to 1.0"); - - params = yield runSimulator(0); - - pid = params.args.indexOf("-profile"); - is(params.args[pid + 1], fakeProfile.path, "Simulator process still uses custom profile directory"); - - yield set(form.version, "custom"); - - // Test `device`. - - let defaults = Simulator.prototype._defaults; - - for (let param in defaults.phone) { - is(form[param].value, String(defaults.phone[param]), "Default phone value for device " + param); - } - - let width = 5000, height = 4000; - yield set(form.width, width); - yield set(form.height, height); - - is(form.device.value, "custom", "Device selector is custom"); - - params = yield runSimulator(0); - - let sid = params.args.indexOf("-screen"); - ok(sid > -1, "Simulator process arguments have --screen"); - ok(params.args[sid + 1].includes(width + "x" + height), "Simulator screen resolution looks right"); - - yield set(form.version, sim10.addonID); - - // Configure the fake 2.0 simulator. - - simulatorList.querySelectorAll(".configure-button")[1].click(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - // Test `name`. - - is(form.name.value, findAll(".runtime-panel-item-simulator")[1].textContent, "Original simulator name"); - - yield set(form.name, customName + "2.0"); - - is(findAll(".runtime-panel-item-simulator")[1].textContent, form.name.value, "Updated simulator name"); - - yield set(form.version, sim10.addonID); - - ok(form.name.value !== customName + "1.0", "Conflicting simulator name was deduplicated"); - - is(form.name.value, findAll(".runtime-panel-item-simulator")[1].textContent, "Deduplicated simulator name stayed consistent"); - - yield set(form.version, sim20.addonID); - - is(form.name.value, customName + "2.0", "Name deduplication was undone when possible"); - - // Test `device`. - - for (let param in defaults.phone) { - is(form[param].value, String(defaults.phone[param]), "Default phone value for device " + param); - } - - let devices = yield getDevices(); - devices = devices[devices.TYPES[0]]; - let device = devices[devices.length - 1]; - - yield set(form.device, device.name); - - is(form.device.value, device.name, "Device selector was changed"); - is(form.width.value, String(device.width), "New device width is correct"); - is(form.height.value, String(device.height), "New device height is correct"); - - params = yield runSimulator(1); - - sid = params.args.indexOf("-screen"); - ok(params.args[sid + 1].includes(device.width + "x" + device.height), "Simulator screen resolution looks right"); - - // Test Simulator Menu. - is(doc.querySelector("#tv_simulator_menu").style.visibility, "hidden", "OpenTVDummyDirectory Button is not hidden"); - - // Restore default simulator options. - - doc.querySelector("#reset").click(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - for (let param in defaults.phone) { - is(form[param].value, String(defaults.phone[param]), "Default phone value for device " + param); - } - - // Install and configure the fake "Firefox OS 3.0 TV" simulator addon. - - let sim30tv = addons.simulators.filter(a => a.version == "3.0_tv")[0]; - - sim30tv.install(); - - updated = waitForUpdate(3); - yield addonStatus(sim30tv, "installed"); - yield updated; - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - is(findAll(".runtime-panel-item-simulator").length, 3, "Three simulators in runtime panel"); - - simulatorList.querySelectorAll(".configure-button")[2].click(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - for (let param in defaults.television) { - is(form[param].value, String(defaults.television[param]), "Default TV value for device " + param); - } - - // Test Simulator Menu - is(doc.querySelector("#tv_simulator_menu").style.visibility, "visible", "OpenTVDummyDirectory Button is not visible"); - - // Force reload the list of simulators. - - Simulators._loadingPromise = null; - Simulators._simulators = []; - yield Simulators._load(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - is(findAll(".runtime-panel-item-simulator").length, 3, "Three simulators saved and reloaded " + Simulators._simulators.map(s => s.name).join(',')); - - // Uninstall the 3.0 TV and 2.0 addons, and watch their Simulator objects disappear. - - sim30tv.uninstall(); - - yield addonStatus(sim30tv, "uninstalled"); - - is(findAll(".runtime-panel-item-simulator").length, 2, "Two simulators left in runtime panel"); - - sim20.uninstall(); - - yield addonStatus(sim20, "uninstalled"); - - is(findAll(".runtime-panel-item-simulator").length, 1, "One simulator left in runtime panel"); - - // Remove 1.0 simulator. - - simulatorList.querySelectorAll(".configure-button")[0].click(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - doc.querySelector("#remove").click(); - // Wait for next tick to ensure UI elements are updated - yield nextTick(); - - is(findAll(".runtime-panel-item-simulator").length, 0, "Last simulator was removed"); - - yield asyncStorage.removeItem("simulators"); - - sim10.uninstall(); - - MockFilePicker.cleanup(); - - doc.querySelector("#close").click(); - - ok(!win.document.querySelector("#deck").selectedPanel, "No panel selected"); - - yield closeWebIDE(win); - - SimpleTest.finish(); - - }); - } - - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_telemetry.html b/devtools/client/webide/test/test_telemetry.html deleted file mode 100644 index 225ddb89b..000000000 --- a/devtools/client/webide/test/test_telemetry.html +++ /dev/null @@ -1,325 +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"> - const Telemetry = require("devtools/client/shared/telemetry"); - const { _DeprecatedUSBRuntime, _WiFiRuntime, _SimulatorRuntime, - _gRemoteRuntime, _gLocalRuntime, RuntimeTypes } - = require("devtools/client/webide/modules/runtimes"); - - // Because we need to gather stats for the period of time that a tool has - // been opened we make use of setTimeout() to create tool active times. - const TOOL_DELAY = 200; - - function patchTelemetry() { - Telemetry.prototype.telemetryInfo = {}; - Telemetry.prototype._oldlog = Telemetry.prototype.log; - Telemetry.prototype.log = function(histogramId, value) { - if (histogramId) { - if (!this.telemetryInfo[histogramId]) { - this.telemetryInfo[histogramId] = []; - } - this.telemetryInfo[histogramId].push(value); - } - } - Telemetry.prototype._oldlogKeyed = Telemetry.prototype.logKeyed; - Telemetry.prototype.logKeyed = function(histogramId, key, value) { - // This simple reduction is enough to test WebIDE's usage - this.log(`${histogramId}|${key}`, value); - } - } - - function resetTelemetry() { - Telemetry.prototype.log = Telemetry.prototype._oldlog; - Telemetry.prototype.logKeyed = Telemetry.prototype._oldlogKeyed; - delete Telemetry.prototype._oldlog; - delete Telemetry.prototype._oldlogKeyed; - delete Telemetry.prototype.telemetryInfo; - } - - function cycleWebIDE() { - return Task.spawn(function*() { - let win = yield openWebIDE(); - // Wait a bit, so we're open for a non-zero time - yield waitForTime(TOOL_DELAY); - yield closeWebIDE(win); - }); - } - - function addFakeRuntimes(win) { - // We use the real runtimes here (and switch out some functionality) - // so we can ensure that logging happens as it would in real use. - - let usb = new _DeprecatedUSBRuntime("fakeUSB"); - // Use local pipe instead - usb.connect = function(connection) { - ok(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }; - win.AppManager.runtimeList.usb.push(usb); - - let wifi = new _WiFiRuntime("fakeWiFi"); - // Use local pipe instead - wifi.connect = function(connection) { - ok(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }; - win.AppManager.runtimeList.wifi.push(wifi); - - let sim = new _SimulatorRuntime({ id: "fakeSimulator" }); - // Use local pipe instead - sim.connect = function(connection) { - ok(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }; - Object.defineProperty(sim, "name", { - get() { - return this.version; - } - }); - win.AppManager.runtimeList.simulator.push(sim); - - let remote = _gRemoteRuntime; - // Use local pipe instead - remote.connect = function(connection) { - ok(connection, win.AppManager.connection, "connection is valid"); - connection.host = null; // force connectPipe - connection.connect(); - return promise.resolve(); - }; - let local = _gLocalRuntime; - - let other = Object.create(_gLocalRuntime); - other.type = RuntimeTypes.OTHER; - - win.AppManager.runtimeList.other = [remote, local, other]; - - win.AppManager.update("runtime-list"); - } - - function addTestApp(win) { - return Task.spawn(function*() { - let packagedAppLocation = getTestFilePath("../app"); - let winProject = getProjectWindow(win); - let onValidated = waitForUpdate(win, "project-validated"); - let onDetails = waitForUpdate(win, "details"); - yield winProject.projectList.importPackagedApp(packagedAppLocation); - yield onValidated; - yield onDetails; - }); - } - - function startConnection(win, docRuntime, type, index) { - let panelNode = docRuntime.querySelector("#runtime-panel"); - let items = panelNode.querySelectorAll(".runtime-panel-item-" + type); - if (index === undefined) { - is(items.length, 1, "Found one runtime button"); - } - - let deferred = promise.defer(); - win.AppManager.connection.once( - win.Connection.Events.CONNECTED, - () => deferred.resolve()); - - items[index || 0].click(); - - return deferred.promise; - } - - function waitUntilConnected(win) { - return Task.spawn(function*() { - ok(win.document.querySelector("window").className, "busy", "UI is busy"); - yield win.UI._busyPromise; - is(Object.keys(DebuggerServer._connections).length, 1, "Connected"); - // Logging runtime info needs to use the device actor - yield waitForUpdate(win, "runtime-global-actors"); - // Ensure detailed telemetry is recorded - yield waitForUpdate(win, "runtime-telemetry"); - }); - } - - function connectToRuntime(win, docRuntime, type, index) { - return Task.spawn(function*() { - startConnection(win, docRuntime, type, index); - yield waitUntilConnected(win); - }); - } - - function checkResults() { - let result = Telemetry.prototype.telemetryInfo; - for (let [histId, value] of Iterator(result)) { - if (histId === "DEVTOOLS_WEBIDE_IMPORT_PROJECT_BOOLEAN") { - ok(value.length === 1 && !!value[0], - histId + " has 1 successful entry"); - } else if (histId === - "DEVTOOLS_WEBIDE_PROJECT_EDITOR_OPENED_COUNT") { - ok(value.length === 1 && !!value[0], - histId + " has 1 successful entry"); - } else if (histId === "DEVTOOLS_WEBIDE_OPENED_COUNT") { - ok(value.length > 1, histId + " has more than one entry"); - - let okay = value.every(function(element) { - return !!element; - }); - - ok(okay, "All " + histId + " entries are true"); - } else if (histId.endsWith("WEBIDE_TIME_ACTIVE_SECONDS")) { - ok(value.length > 1, histId + " has more than one entry"); - - let okay = value.every(function(element) { - return element > 0; - }); - - ok(okay, "All " + histId + " entries have time > 0"); - } else if (histId.endsWith("EDITOR_TIME_ACTIVE_SECONDS")) { - ok(value.length === 1 && value[0] > 0, - histId + " has 1 entry with time > 0"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTION_RESULT") { - ok(value.length === 6, histId + " has 6 connection results"); - - let okay = value.every(function(element) { - return !!element; - }); - - ok(okay, "All " + histId + " connections succeeded"); - } else if (histId.endsWith("CONNECTION_RESULT")) { - ok(value.length === 1 && !!value[0], - histId + " has 1 successful connection"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTION_TIME_SECONDS") { - ok(value.length === 6, histId + " has 6 connection results"); - - let okay = value.every(function(element) { - return element > 0; - }); - - ok(okay, "All " + histId + " connections have time > 0"); - } else if (histId.endsWith("USED")) { - ok(value.length === 6, histId + " has 6 connection actions"); - - let okay = value.every(function(element) { - return !element; - }); - - ok(okay, "All " + histId + " actions were skipped"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|USB") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|WIFI") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|SIMULATOR") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|REMOTE") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|LOCAL") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_TYPE|OTHER") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID|fakeUSB") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID|fakeWiFi") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID|fakeSimulator") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID|unknown") { - is(value.length, 1, histId + " has 1 connection results"); - } else if (histId === "DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_ID|local") { - is(value.length, 2, histId + " has 2 connection results"); - } else if (histId.startsWith("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_PROCESSOR")) { - let processor = histId.split("|")[1]; - is(processor, Services.appinfo.XPCOMABI.split("-")[0], "Found runtime processor"); - is(value.length, 6, histId + " has 6 connection results"); - } else if (histId.startsWith("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_OS")) { - let os = histId.split("|")[1]; - is(os, Services.appinfo.OS, "Found runtime OS"); - is(value.length, 6, histId + " has 6 connection results"); - } else if (histId.startsWith("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_PLATFORM_VERSION")) { - let platformversion = histId.split("|")[1]; - is(platformversion, Services.appinfo.platformVersion, "Found runtime platform version"); - is(value.length, 6, histId + " has 6 connection results"); - } else if (histId.startsWith("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_APP_TYPE")) { - let apptype = histId.split("|")[1]; - is(apptype, "firefox", "Found runtime app type"); - is(value.length, 6, histId + " has 6 connection results"); - } else if (histId.startsWith("DEVTOOLS_WEBIDE_CONNECTED_RUNTIME_VERSION")) { - let version = histId.split("|")[1]; - is(version, Services.appinfo.version, "Found runtime version"); - is(value.length, 6, histId + " has 6 connection results"); - } else { - ok(false, "Unexpected " + histId + " was logged"); - } - } - } - - window.onload = function() { - SimpleTest.testInChaosMode(); - SimpleTest.waitForExplicitFinish(); - - let win; - - SimpleTest.registerCleanupFunction(() => { - return Task.spawn(function*() { - if (win) { - yield closeWebIDE(win); - } - DebuggerServer.destroy(); - yield removeAllProjects(); - resetTelemetry(); - }); - }); - - Task.spawn(function*() { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - patchTelemetry(); - - // Cycle once, so we can test for multiple opens - yield cycleWebIDE(); - - win = yield openWebIDE(); - let docRuntime = getRuntimeDocument(win); - - // Wait a bit, so we're open for a non-zero time - yield waitForTime(TOOL_DELAY); - addFakeRuntimes(win); - yield addTestApp(win); - - // Each one should log a connection result and non-zero connection - // time - yield connectToRuntime(win, docRuntime, "usb"); - yield connectToRuntime(win, docRuntime, "wifi"); - yield connectToRuntime(win, docRuntime, "simulator"); - yield connectToRuntime(win, docRuntime, "other", 0 /* remote */); - yield connectToRuntime(win, docRuntime, "other", 1 /* local */); - yield connectToRuntime(win, docRuntime, "other", 2 /* other */); - yield closeWebIDE(win); - win = null; - - checkResults(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_toolbox.html b/devtools/client/webide/test/test_toolbox.html deleted file mode 100644 index 71ac2706c..000000000 --- a/devtools/client/webide/test/test_toolbox.html +++ /dev/null @@ -1,93 +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*() { - if (!DebuggerServer.initialized) { - DebuggerServer.init(); - DebuggerServer.addBrowserActors(); - } - - win = yield openWebIDE(); - let docRuntime = getRuntimeDocument(win); - let docProject = getProjectDocument(win); - - win.AppManager.update("runtime-list"); - - let deferred = promise.defer(); - win.AppManager.connection.once( - win.Connection.Events.CONNECTED, - () => deferred.resolve()); - - docRuntime.querySelectorAll(".runtime-panel-item-other")[1].click(); - - ok(win.document.querySelector("window").className, "busy", "UI is busy"); - yield win.UI._busyPromise; - - is(Object.keys(DebuggerServer._connections).length, 1, "Connected"); - - yield waitForUpdate(win, "runtime-global-actors"); - - 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"); - let toolbox = yield win.UI.toolboxPromise; - - yield toolbox.destroy(); - - ok(!win.UI.toolboxPromise, "Toolbox promise should be unset once toolbox.destroy()'s promise resolves"); - - // Reopen the toolbox right after to check races and also - // opening a toolbox more than just once against the same target - yield win.Cmds.toggleToolbox(); - - ok(win.UI.toolboxPromise, "Toolbox promise exists"); - - yield win.UI.destroyToolbox(); - - ok(!win.UI.toolboxPromise, "Toolbox promise is also nullified the second times"); - - yield win.Cmds.disconnectRuntime(); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/test_zoom.html b/devtools/client/webide/test/test_zoom.html deleted file mode 100644 index 4ad3885d2..000000000 --- a/devtools/client/webide/test/test_zoom.html +++ /dev/null @@ -1,77 +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(); - - Task.spawn(function* () { - let win = yield openWebIDE(); - let viewer = win.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIWebNavigation) - .QueryInterface(Ci.nsIDocShell) - .contentViewer; - - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - win.Cmds.zoomOut(); - - let roundZoom = Math.round(10 * viewer.fullZoom) / 10; - is(roundZoom, 0.6, "Reach min zoom"); - - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - win.Cmds.zoomIn(); - - roundZoom = Math.round(10 * viewer.fullZoom) / 10; - is(roundZoom, 1.4, "Reach max zoom"); - - yield closeWebIDE(win); - - win = yield openWebIDE(); - viewer = win.QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIWebNavigation) - .QueryInterface(Ci.nsIDocShell) - .contentViewer; - - roundZoom = Math.round(10 * viewer.fullZoom) / 10; - is(roundZoom, 1.4, "Zoom restored"); - - win.Cmds.resetZoom(); - - is(viewer.fullZoom, 1, "Zoom reset"); - - yield closeWebIDE(win); - - SimpleTest.finish(); - }); - } - </script> - </body> -</html> diff --git a/devtools/client/webide/test/validator/no-name-or-icon/home.html b/devtools/client/webide/test/validator/no-name-or-icon/home.html deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/validator/no-name-or-icon/home.html +++ /dev/null diff --git a/devtools/client/webide/test/validator/no-name-or-icon/manifest.webapp b/devtools/client/webide/test/validator/no-name-or-icon/manifest.webapp deleted file mode 100644 index 149e3fb79..000000000 --- a/devtools/client/webide/test/validator/no-name-or-icon/manifest.webapp +++ /dev/null @@ -1,3 +0,0 @@ -{ - "launch_path": "/home.html" -} diff --git a/devtools/client/webide/test/validator/non-absolute-path/manifest.webapp b/devtools/client/webide/test/validator/non-absolute-path/manifest.webapp deleted file mode 100644 index 64744067f..000000000 --- a/devtools/client/webide/test/validator/non-absolute-path/manifest.webapp +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "non-absolute path", - "icons": { - "128": "/icon.png" - }, - "launch_path": "non-absolute.html" -} diff --git a/devtools/client/webide/test/validator/valid/alsoValid/manifest.webapp b/devtools/client/webide/test/validator/valid/alsoValid/manifest.webapp deleted file mode 100644 index 20bd97bba..000000000 --- a/devtools/client/webide/test/validator/valid/alsoValid/manifest.webapp +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "valid at subfolder", - "launch_path": "/home.html", - "icons": { - "128": "/icon.png" - } -} diff --git a/devtools/client/webide/test/validator/valid/home.html b/devtools/client/webide/test/validator/valid/home.html deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/validator/valid/home.html +++ /dev/null diff --git a/devtools/client/webide/test/validator/valid/icon.png b/devtools/client/webide/test/validator/valid/icon.png deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/validator/valid/icon.png +++ /dev/null diff --git a/devtools/client/webide/test/validator/valid/manifest.webapp b/devtools/client/webide/test/validator/valid/manifest.webapp deleted file mode 100644 index 2c22a1567..000000000 --- a/devtools/client/webide/test/validator/valid/manifest.webapp +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "valid", - "launch_path": "/home.html", - "icons": { - "128": "/icon.png" - } -} diff --git a/devtools/client/webide/test/validator/wrong-launch-path/icon.png b/devtools/client/webide/test/validator/wrong-launch-path/icon.png deleted file mode 100644 index e69de29bb..000000000 --- a/devtools/client/webide/test/validator/wrong-launch-path/icon.png +++ /dev/null diff --git a/devtools/client/webide/test/validator/wrong-launch-path/manifest.webapp b/devtools/client/webide/test/validator/wrong-launch-path/manifest.webapp deleted file mode 100644 index 08057bae1..000000000 --- a/devtools/client/webide/test/validator/wrong-launch-path/manifest.webapp +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "valid", - "launch_path": "/wrong-path.html", - "icons": { - "128": "/icon.png" - } -} |