summaryrefslogtreecommitdiff
path: root/browser/devtools/framework
diff options
context:
space:
mode:
Diffstat (limited to 'browser/devtools/framework')
-rw-r--r--browser/devtools/framework/moz.build2
-rw-r--r--browser/devtools/framework/test/Makefile.in33
-rw-r--r--browser/devtools/framework/test/browser_devtools_api.js122
-rw-r--r--browser/devtools/framework/test/browser_new_activation_workflow.js71
-rw-r--r--browser/devtools/framework/test/browser_target_events.js56
-rw-r--r--browser/devtools/framework/test/browser_toolbox_dynamic_registration.js107
-rw-r--r--browser/devtools/framework/test/browser_toolbox_highlight.js84
-rw-r--r--browser/devtools/framework/test/browser_toolbox_hosts.js132
-rw-r--r--browser/devtools/framework/test/browser_toolbox_options.js163
-rw-r--r--browser/devtools/framework/test/browser_toolbox_options_disablejs.html45
-rw-r--r--browser/devtools/framework/test/browser_toolbox_options_disablejs.js128
-rw-r--r--browser/devtools/framework/test/browser_toolbox_options_disablejs_iframe.html33
-rw-r--r--browser/devtools/framework/test/browser_toolbox_ready.js43
-rw-r--r--browser/devtools/framework/test/browser_toolbox_select_event.js98
-rw-r--r--browser/devtools/framework/test/browser_toolbox_sidebar.js150
-rw-r--r--browser/devtools/framework/test/browser_toolbox_tool_ready.js32
-rw-r--r--browser/devtools/framework/test/browser_toolbox_window_shortcuts.js78
-rw-r--r--browser/devtools/framework/test/browser_toolbox_window_title_changes.js84
-rw-r--r--browser/devtools/framework/test/head.js78
-rw-r--r--browser/devtools/framework/test/moz.build6
20 files changed, 1 insertions, 1544 deletions
diff --git a/browser/devtools/framework/moz.build b/browser/devtools/framework/moz.build
index 86ec46748..8deb0b138 100644
--- a/browser/devtools/framework/moz.build
+++ b/browser/devtools/framework/moz.build
@@ -4,4 +4,4 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-TEST_DIRS += ['test']
+
diff --git a/browser/devtools/framework/test/Makefile.in b/browser/devtools/framework/test/Makefile.in
deleted file mode 100644
index 2fe8c2a52..000000000
--- a/browser/devtools/framework/test/Makefile.in
+++ /dev/null
@@ -1,33 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-DEPTH = @DEPTH@
-topsrcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-relativesrcdir = @relativesrcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MOCHITEST_BROWSER_FILES = \
- head.js \
- browser_devtools_api.js \
- browser_new_activation_workflow.js \
- browser_toolbox_dynamic_registration.js \
- browser_toolbox_hosts.js \
- browser_toolbox_ready.js \
- browser_toolbox_select_event.js \
- browser_target_events.js \
- browser_toolbox_tool_ready.js \
- browser_toolbox_sidebar.js \
- browser_toolbox_window_shortcuts.js \
- browser_toolbox_window_title_changes.js \
- browser_toolbox_options.js \
- browser_toolbox_options_disablejs.js \
- browser_toolbox_options_disablejs.html \
- browser_toolbox_options_disablejs_iframe.html \
- browser_toolbox_highlight.js \
- $(NULL)
-
-include $(topsrcdir)/config/rules.mk
diff --git a/browser/devtools/framework/test/browser_devtools_api.js b/browser/devtools/framework/test/browser_devtools_api.js
deleted file mode 100644
index 6a79d337d..000000000
--- a/browser/devtools/framework/test/browser_devtools_api.js
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Tests devtools API
-
-const Cu = Components.utils;
-const toolId = "test-tool";
-
-let tempScope = {};
-Cu.import("resource:///modules/devtools/shared/event-emitter.js", tempScope);
-let EventEmitter = tempScope.EventEmitter;
-
-function test() {
- addTab("about:blank", function(aBrowser, aTab) {
- runTests(aTab);
- });
-}
-
-function runTests(aTab) {
- let toolDefinition = {
- id: toolId,
- isTargetSupported: function() true,
- visibilityswitch: "devtools.test-tool.enabled",
- url: "about:blank",
- label: "someLabel",
- build: function(iframeWindow, toolbox) {
- let panel = new DevToolPanel(iframeWindow, toolbox);
- return panel.open();
- },
- };
-
- ok(gDevTools, "gDevTools exists");
- is(gDevTools.getToolDefinitionMap().has(toolId), false,
- "The tool is not registered");
-
- gDevTools.registerTool(toolDefinition);
- is(gDevTools.getToolDefinitionMap().has(toolId), true,
- "The tool is registered");
-
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, toolId).then(function(toolbox) {
- is(toolbox.target, target, "toolbox target is correct");
- is(toolbox._host.hostTab, gBrowser.selectedTab, "toolbox host is correct");
- continueTests(toolbox);
- }).then(null, console.error);
-}
-
-function continueTests(toolbox, panel) {
- ok(toolbox.getCurrentPanel(), "panel value is correct");
- is(toolbox.currentToolId, toolId, "toolbox _currentToolId is correct");
-
- let toolDefinitions = gDevTools.getToolDefinitionMap();
- is(toolDefinitions.has(toolId), true, "The tool is in gDevTools");
-
- let toolDefinition = toolDefinitions.get(toolId);
- is(toolDefinition.id, toolId, "toolDefinition id is correct");
-
- gDevTools.unregisterTool(toolId);
- is(gDevTools.getToolDefinitionMap().has(toolId), false,
- "The tool is no longer registered");
-
- toolbox.destroy().then(function() {
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- ok(gDevTools._toolboxes.get(target) == null, "gDevTools doesn't know about target");
- ok(toolbox._target == null, "toolbox doesn't know about target.");
-
- finishUp();
- }).then(null, console.error);
-}
-
-function finishUp() {
- tempScope = null;
- gBrowser.removeCurrentTab();
- finish();
-}
-
-/**
-* When a Toolbox is started it creates a DevToolPanel for each of the tools
-* by calling toolDefinition.build(). The returned object should
-* at least implement these functions. They will be used by the ToolBox.
-*
-* There may be no benefit in doing this as an abstract type, but if nothing
-* else gives us a place to write documentation.
-*/
-function DevToolPanel(iframeWindow, toolbox) {
- EventEmitter.decorate(this);
-
- this._toolbox = toolbox;
-
- /*let doc = iframeWindow.document
- let label = doc.createElement("label");
- let textNode = doc.createTextNode("Some Tool");
-
- label.appendChild(textNode);
- doc.body.appendChild(label);*/
-}
-
-DevToolPanel.prototype = {
- open: function() {
- let deferred = Promise.defer();
-
- executeSoon(function() {
- this._isReady = true;
- this.emit("ready");
- deferred.resolve(this);
- }.bind(this));
-
- return deferred.promise;
- },
-
- get target() this._toolbox.target,
-
- get toolbox() this._toolbox,
-
- get isReady() this._isReady,
-
- _isReady: false,
-
- destroy: function DTI_destroy() {
- return Promise.defer(null);
- },
-};
diff --git a/browser/devtools/framework/test/browser_new_activation_workflow.js b/browser/devtools/framework/test/browser_new_activation_workflow.js
deleted file mode 100644
index 85b73e7c7..000000000
--- a/browser/devtools/framework/test/browser_new_activation_workflow.js
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Tests devtools API
-
-const Cu = Components.utils;
-
-let toolbox, target;
-
-let tempScope = {};
-
-function test() {
- addTab("about:blank", function(aBrowser, aTab) {
- target = TargetFactory.forTab(gBrowser.selectedTab);
- loadWebConsole(aTab).then(function() {
- console.log('loaded');
- }, console.error);
- });
-}
-
-function loadWebConsole(aTab) {
- ok(gDevTools, "gDevTools exists");
-
- return gDevTools.showToolbox(target, "webconsole").then(function(aToolbox) {
- toolbox = aToolbox;
- checkToolLoading();
- }, console.error);
-}
-
-function checkToolLoading() {
- is(toolbox.currentToolId, "webconsole", "The web console is selected");
- ok(toolbox.isReady, "toolbox is ready")
-
- selectAndCheckById("jsdebugger").then(function() {
- selectAndCheckById("styleeditor").then(function() {
- testToggle();
- });
- }, console.error);
-}
-
-function selectAndCheckById(id) {
- let doc = toolbox.frame.contentDocument;
-
- return toolbox.selectTool(id).then(function() {
- let tab = doc.getElementById("toolbox-tab-" + id);
- is(tab.selected, true, "The " + id + " tab is selected");
- });
-}
-
-function testToggle() {
- toolbox.once("destroyed", function() {
- // Cannot reuse a target after it's destroyed.
- target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, "styleeditor").then(function(aToolbox) {
- toolbox = aToolbox;
- is(toolbox.currentToolId, "styleeditor", "The style editor is selected");
- finishUp();
- });
- }.bind(this));
-
- toolbox.destroy();
-}
-
-function finishUp() {
- toolbox.destroy().then(function() {
- toolbox = null;
- target = null;
- gBrowser.removeCurrentTab();
- finish();
- });
-}
diff --git a/browser/devtools/framework/test/browser_target_events.js b/browser/devtools/framework/test/browser_target_events.js
deleted file mode 100644
index a9e386f4b..000000000
--- a/browser/devtools/framework/test/browser_target_events.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/* vim: set ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-var target;
-
-function test()
-{
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- gBrowser.selectedBrowser.addEventListener("load", onLoad, true);
-}
-
-function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
-
- target = TargetFactory.forTab(gBrowser.selectedTab);
-
- is(target.tab, gBrowser.selectedTab, "Target linked to the right tab.");
-
- target.once("hidden", onHidden);
- gBrowser.selectedTab = gBrowser.addTab();
-}
-
-function onHidden() {
- ok(true, "Hidden event received");
- target.once("visible", onVisible);
- gBrowser.removeCurrentTab();
-}
-
-function onVisible() {
- ok(true, "Visible event received");
- target.once("will-navigate", onWillNavigate);
- gBrowser.contentWindow.location = "data:text/html,test navigation";
-}
-
-function onWillNavigate(event, request) {
- ok(true, "will-navigate event received");
- // Wait for navigation handling to complete before removing the tab, in order
- // to avoid triggering assertions.
- target.once("navigate", executeSoon.bind(null, onNavigate));
-}
-
-function onNavigate() {
- ok(true, "navigate event received");
- target.once("close", onClose);
- gBrowser.removeCurrentTab();
-}
-
-function onClose() {
- ok(true, "close event received");
-
- target = null;
- finish();
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_dynamic_registration.js b/browser/devtools/framework/test/browser_toolbox_dynamic_registration.js
deleted file mode 100644
index ae30f036a..000000000
--- a/browser/devtools/framework/test/browser_toolbox_dynamic_registration.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/* vim: set ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let toolbox;
-
-function test()
-{
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- let target = TargetFactory.forTab(gBrowser.selectedTab);
-
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- gDevTools.showToolbox(target).then(testRegister);
- }, true);
-
- content.location = "data:text/html,test for dynamically registering and unregistering tools";
-}
-
-function testRegister(aToolbox)
-{
- toolbox = aToolbox
- gDevTools.once("tool-registered", toolRegistered);
-
- gDevTools.registerTool({
- id: "test-tool",
- label: "Test Tool",
- isTargetSupported: function() true,
- build: function() {}
- });
-}
-
-function toolRegistered(event, toolId)
-{
- is(toolId, "test-tool", "tool-registered event handler sent tool id");
-
- ok(gDevTools.getToolDefinitionMap().has(toolId), "tool added to map");
-
- // test that it appeared in the UI
- let doc = toolbox.frame.contentDocument;
- let tab = doc.getElementById("toolbox-tab-" + toolId);
- ok(tab, "new tool's tab exists in toolbox UI");
-
- let panel = doc.getElementById("toolbox-panel-" + toolId);
- ok(panel, "new tool's panel exists in toolbox UI");
-
- for (let win of getAllBrowserWindows()) {
- let command = win.document.getElementById("Tools:" + toolId);
- ok(command, "command for new tool added to every browser window");
- let menuitem = win.document.getElementById("menuitem_" + toolId);
- ok(menuitem, "menu item of new tool added to every browser window");
- }
-
- // then unregister it
- testUnregister();
-}
-
-function getAllBrowserWindows() {
- let wins = [];
- let enumerator = Services.wm.getEnumerator("navigator:browser");
- while (enumerator.hasMoreElements()) {
- wins.push(enumerator.getNext());
- }
- return wins;
-}
-
-function testUnregister()
-{
- gDevTools.once("tool-unregistered", toolUnregistered);
-
- gDevTools.unregisterTool("test-tool");
-}
-
-function toolUnregistered(event, toolDefinition)
-{
- let toolId = toolDefinition.id;
- is(toolId, "test-tool", "tool-unregistered event handler sent tool id");
-
- ok(!gDevTools.getToolDefinitionMap().has(toolId), "tool removed from map");
-
- // test that it disappeared from the UI
- let doc = toolbox.frame.contentDocument;
- let tab = doc.getElementById("toolbox-tab-" + toolId);
- ok(!tab, "tool's tab was removed from the toolbox UI");
-
- let panel = doc.getElementById("toolbox-panel-" + toolId);
- ok(!panel, "tool's panel was removed from toolbox UI");
-
- for (let win of getAllBrowserWindows()) {
- let command = win.document.getElementById("Tools:" + toolId);
- ok(!command, "command removed from every browser window");
- let menuitem = win.document.getElementById("menuitem_" + toolId);
- ok(!menuitem, "menu item removed from every browser window");
- }
-
- cleanup();
-}
-
-function cleanup()
-{
- toolbox.destroy();
- toolbox = null;
- gBrowser.removeCurrentTab();
- finish();
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_highlight.js b/browser/devtools/framework/test/browser_toolbox_highlight.js
deleted file mode 100644
index 3ba74a4b7..000000000
--- a/browser/devtools/framework/test/browser_toolbox_highlight.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let Toolbox = devtools.Toolbox;
-let temp = {};
-Cu.import("resource://gre/modules/Services.jsm", temp);
-let Services = temp.Services;
-temp = null;
-let toolbox = null;
-
-function test() {
- waitForExplicitFinish();
-
- const URL = "data:text/plain;charset=UTF-8,Nothing to see here, move along";
-
- const TOOL_ID_1 = "jsdebugger";
- const TOOL_ID_2 = "webconsole";
-
- addTab(URL, () => {
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, TOOL_ID_1, Toolbox.HostType.BOTTOM)
- .then(aToolbox => {
- toolbox = aToolbox;
- // select tool 2
- toolbox.selectTool(TOOL_ID_2)
- // and highlight the first one
- .then(highlightTab.bind(null, TOOL_ID_1))
- // to see if it has the proper class.
- .then(checkHighlighted.bind(null, TOOL_ID_1))
- // Now switch back to first tool
- .then(() => toolbox.selectTool(TOOL_ID_1))
- // to check again. But there is no easy way to test if
- // it is showing orange or not.
- .then(checkNoHighlightWhenSelected.bind(null, TOOL_ID_1))
- // Switch to tool 2 again
- .then(() => toolbox.selectTool(TOOL_ID_2))
- // and check again.
- .then(checkHighlighted.bind(null, TOOL_ID_1))
- // Now unhighlight the tool
- .then(unhighlightTab.bind(null, TOOL_ID_1))
- // to see the classes gone.
- .then(checkNoHighlight.bind(null, TOOL_ID_1))
- // Now close the toolbox and exit.
- .then(() => executeSoon(() => {
- toolbox.destroy()
- .then(() => {
- toolbox = null;
- gBrowser.removeCurrentTab();
- finish();
- });
- }));
- });
- });
-}
-
-function highlightTab(toolId) {
- info("Highlighting tool " + toolId + "'s tab.");
- toolbox.highlightTool(toolId);
-}
-
-function unhighlightTab(toolId) {
- info("Unhighlighting tool " + toolId + "'s tab.");
- toolbox.unhighlightTool(toolId);
-}
-
-function checkHighlighted(toolId) {
- let tab = toolbox.doc.getElementById("toolbox-tab-" + toolId);
- ok(tab.classList.contains("highlighted"), "The highlighted class is present");
- ok(!tab.hasAttribute("selected") || tab.getAttribute("selected") != "true",
- "The tab is not selected");
-}
-
-function checkNoHighlightWhenSelected(toolId) {
- let tab = toolbox.doc.getElementById("toolbox-tab-" + toolId);
- ok(tab.classList.contains("highlighted"), "The highlighted class is present");
- ok(tab.hasAttribute("selected") && tab.getAttribute("selected") == "true",
- "and the tab is selected, so the orange glow will not be present.");
-}
-
-function checkNoHighlight(toolId) {
- let tab = toolbox.doc.getElementById("toolbox-tab-" + toolId);
- ok(!tab.classList.contains("highlighted"),
- "The highlighted class is not present");
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_hosts.js b/browser/devtools/framework/test/browser_toolbox_hosts.js
deleted file mode 100644
index 5d451f01c..000000000
--- a/browser/devtools/framework/test/browser_toolbox_hosts.js
+++ /dev/null
@@ -1,132 +0,0 @@
-/* vim: set ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let temp = {}
-Cu.import("resource:///modules/devtools/gDevTools.jsm", temp);
-let DevTools = temp.DevTools;
-
-Cu.import("resource://gre/modules/devtools/Loader.jsm", temp);
-let devtools = temp.devtools;
-
-let Toolbox = devtools.Toolbox;
-
-let toolbox, target;
-
-function test()
-{
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- target = TargetFactory.forTab(gBrowser.selectedTab);
-
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- gDevTools.showToolbox(target)
- .then(testBottomHost, console.error)
- .then(null, console.error);
- }, true);
-
- content.location = "data:text/html,test for opening toolbox in different hosts";
-}
-
-function testBottomHost(aToolbox)
-{
- toolbox = aToolbox;
-
- checkHostType(Toolbox.HostType.BOTTOM);
-
- // test UI presence
- let nbox = gBrowser.getNotificationBox();
- let iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-bottom-iframe");
- ok(iframe, "toolbox bottom iframe exists");
-
- checkToolboxLoaded(iframe);
-
- toolbox.switchHost(Toolbox.HostType.SIDE).then(testSidebarHost);
-}
-
-function testSidebarHost()
-{
- checkHostType(Toolbox.HostType.SIDE);
-
- // test UI presence
- let nbox = gBrowser.getNotificationBox();
- let bottom = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-bottom-iframe");
- ok(!bottom, "toolbox bottom iframe doesn't exist");
-
- let iframe = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-side-iframe");
- ok(iframe, "toolbox side iframe exists");
-
- checkToolboxLoaded(iframe);
-
- toolbox.switchHost(Toolbox.HostType.WINDOW).then(testWindowHost);
-}
-
-function testWindowHost()
-{
- checkHostType(Toolbox.HostType.WINDOW);
-
- let nbox = gBrowser.getNotificationBox();
- let sidebar = document.getAnonymousElementByAttribute(nbox, "class", "devtools-toolbox-side-iframe");
- ok(!sidebar, "toolbox sidebar iframe doesn't exist");
-
- let win = Services.wm.getMostRecentWindow("devtools:toolbox");
- ok(win, "toolbox separate window exists");
-
- let iframe = win.document.getElementById("toolbox-iframe");
- checkToolboxLoaded(iframe);
-
- testToolSelect();
-}
-
-function testToolSelect()
-{
- // make sure we can load a tool after switching hosts
- toolbox.selectTool("inspector").then(testDestroy);
-}
-
-function testDestroy()
-{
- toolbox.destroy().then(function() {
- target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target).then(testRememberHost);
- });
-}
-
-function testRememberHost(aToolbox)
-{
- toolbox = aToolbox;
- // last host was the window - make sure it's the same when re-opening
- is(toolbox.hostType, Toolbox.HostType.WINDOW, "host remembered");
-
- let win = Services.wm.getMostRecentWindow("devtools:toolbox");
- ok(win, "toolbox separate window exists");
-
- cleanup();
-}
-
-function checkHostType(hostType)
-{
- is(toolbox.hostType, hostType, "host type is " + hostType);
-
- let pref = Services.prefs.getCharPref("devtools.toolbox.host");
- is(pref, hostType, "host pref is " + hostType);
-}
-
-function checkToolboxLoaded(iframe)
-{
- let tabs = iframe.contentDocument.getElementById("toolbox-tabs");
- ok(tabs, "toolbox UI has been loaded into iframe");
-}
-
-function cleanup()
-{
- Services.prefs.setCharPref("devtools.toolbox.host", Toolbox.HostType.BOTTOM);
-
- toolbox.destroy().then(function() {
- DevTools = Toolbox = toolbox = target = null;
- gBrowser.removeCurrentTab();
- finish();
- });
- }
diff --git a/browser/devtools/framework/test/browser_toolbox_options.js b/browser/devtools/framework/test/browser_toolbox_options.js
deleted file mode 100644
index f24e03353..000000000
--- a/browser/devtools/framework/test/browser_toolbox_options.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let doc = null, toolbox = null, panelWin = null, index = 0, prefValues = [], prefNodes = [];
-
-function test() {
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- let target = TargetFactory.forTab(gBrowser.selectedTab);
-
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- gDevTools.showToolbox(target).then(testSelectTool);
- }, true);
-
- content.location = "data:text/html;charset=utf8,test for dynamically registering and unregistering tools";
-}
-
-function testSelectTool(aToolbox) {
- toolbox = aToolbox;
- doc = toolbox.doc;
- toolbox.once("options-selected", testOptionsShortcut);
- toolbox.selectTool("options");
-}
-
-function testOptionsShortcut() {
- ok(true, "Toolbox selected via selectTool method");
- toolbox.once("options-selected", testOptions);
- toolbox.selectTool("webconsole")
- .then(() => synthesizeKeyFromKeyTag("toolbox-options-key", doc));
-}
-
-function testOptions(event, tool) {
- ok(true, "Toolbox selected via button click");
- panelWin = tool.panelWin;
- // Testing pref changes
- let prefCheckboxes = tool.panelDoc.querySelectorAll("checkbox[data-pref]");
- for (let checkbox of prefCheckboxes) {
- prefNodes.push(checkbox);
- prefValues.push(Services.prefs.getBoolPref(checkbox.getAttribute("data-pref")));
- }
- // Do again with opposite values to reset prefs
- for (let checkbox of prefCheckboxes) {
- prefNodes.push(checkbox);
- prefValues.push(!Services.prefs.getBoolPref(checkbox.getAttribute("data-pref")));
- }
- testMouseClicks();
-}
-
-function testMouseClicks() {
- if (index == prefValues.length) {
- checkTools();
- return;
- }
- gDevTools.once("pref-changed", prefChanged);
- info("Click event synthesized for index " + index);
- prefNodes[index].scrollIntoView();
-
- // We use executeSoon here to ensure that the element is in view and
- // clickable.
- executeSoon(function() {
- EventUtils.synthesizeMouseAtCenter(prefNodes[index], {}, panelWin);
- });
-}
-
-function prefChanged(event, data) {
- if (data.pref == prefNodes[index].getAttribute("data-pref")) {
- ok(true, "Correct pref was changed");
- is(data.oldValue, prefValues[index], "Previous value is correct");
- is(data.newValue, !prefValues[index], "New value is correct");
- index++;
- testMouseClicks();
- return;
- }
- ok(false, "Pref was not changed correctly");
- cleanup();
-}
-
-function checkTools() {
- let toolsPref = panelWin.document.querySelectorAll("#default-tools-box > checkbox");
- prefNodes = [];
- index = 0;
- for (let tool of toolsPref) {
- prefNodes.push(tool);
- }
- // Randomize the order in which we remove the tool and then add them back so
- // that we get to know if the tabs are correctly placed as per their ordinals.
- prefNodes = prefNodes.sort(() => Math.random() > 0.5 ? 1: -1);
-
- // Wait for the next turn of the event loop to avoid stack overflow errors.
- executeSoon(toggleTools);
-}
-
-function toggleTools() {
- if (index < prefNodes.length) {
- gDevTools.once("tool-unregistered", checkUnregistered);
- let node = prefNodes[index];
- node.scrollIntoView();
- EventUtils.synthesizeMouseAtCenter(node, {}, panelWin);
- }
- else if (index < 2*prefNodes.length) {
- gDevTools.once("tool-registered", checkRegistered);
- let node = prefNodes[index - prefNodes.length];
- node.scrollIntoView();
- EventUtils.synthesizeMouseAtCenter(node, {}, panelWin);
- }
- else {
- cleanup();
- }
-}
-
-function checkUnregistered(event, data) {
- if (data.id == prefNodes[index].getAttribute("id")) {
- ok(true, "Correct tool removed");
- // checking tab on the toolbox
- ok(!doc.getElementById("toolbox-tab-" + data.id), "Tab removed for " +
- data.id);
- index++;
- // Wait for the next turn of the event loop to avoid stack overflow errors.
- executeSoon(toggleTools);
- return;
- }
- ok(false, "Something went wrong, " + data.id + " was not unregistered");
- cleanup();
-}
-
-function checkRegistered(event, data) {
- if (data == prefNodes[index - prefNodes.length].getAttribute("id")) {
- ok(true, "Correct tool added back");
- // checking tab on the toolbox
- let radio = doc.getElementById("toolbox-tab-" + data);
- ok(radio, "Tab added back for " + data);
- if (radio.previousSibling) {
- ok(+radio.getAttribute("ordinal") >=
- +radio.previousSibling.getAttribute("ordinal"),
- "Inserted tab's ordinal is greater than equal to its previous tab." +
- "Expected " + radio.getAttribute("ordinal") + " >= " +
- radio.previousSibling.getAttribute("ordinal"));
- }
- if (radio.nextSibling) {
- ok(+radio.getAttribute("ordinal") <
- +radio.nextSibling.getAttribute("ordinal"),
- "Inserted tab's ordinal is less than its next tab. Expected " +
- radio.getAttribute("ordinal") + " < " +
- radio.nextSibling.getAttribute("ordinal"));
- }
- index++;
- // Wait for the next turn of the event loop to avoid stack overflow errors.
- executeSoon(toggleTools);
- return;
- }
- ok(false, "Something went wrong, " + data + " was not registered back");
- cleanup();
-}
-
-function cleanup() {
- toolbox.destroy().then(function() {
- gBrowser.removeCurrentTab();
- toolbox = doc = prefNodes = prefValues = panelWin = null;
- finish();
- });
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_options_disablejs.html b/browser/devtools/framework/test/browser_toolbox_options_disablejs.html
deleted file mode 100644
index 4e9a65685..000000000
--- a/browser/devtools/framework/test/browser_toolbox_options_disablejs.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
- <head>
- <title>browser_toolbox_options_disablejs.html</title>
- <meta charset="UTF-8">
- <style>
- div {
- width: 260px;
- height: 24px;
- border: 1px solid #000;
- margin-top: 10px;
- }
-
- iframe {
- height: 90px;
- border: 1px solid #000;
- }
-
- h1 {
- font-size: 20px
- }
- </style>
- <script type="application/javascript;version=1.8">
- function log(msg) {
- let output = document.getElementById("output");
-
- output.innerHTML = msg;
- }
- </script>
- </head>
- <body>
- <h1>Test in page</h1>
- <input id="logJSEnabled"
- type="button"
- value="Log JS Enabled"
- onclick="log('JavaScript Enabled')"/>
- <input id="logJSDisabled"
- type="button"
- value="Log JS Disabled"
- onclick="log('JavaScript Disabled')"/>
- <br>
- <div id="output">No output</div>
- <h1>Test in iframe</h1>
- <iframe src="browser_toolbox_options_disablejs_iframe.html"></iframe>
- </body>
-</html>
diff --git a/browser/devtools/framework/test/browser_toolbox_options_disablejs.js b/browser/devtools/framework/test/browser_toolbox_options_disablejs.js
deleted file mode 100644
index 36c77f2ab..000000000
--- a/browser/devtools/framework/test/browser_toolbox_options_disablejs.js
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Tests that disabling JavaScript for a tab works as it should.
-
-const TEST_URI = "http://example.com/browser/browser/devtools/framework/" +
- "test/browser_toolbox_options_disablejs.html";
-
-let doc;
-let toolbox;
-
-function test() {
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- let target = TargetFactory.forTab(gBrowser.selectedTab);
-
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- doc = content.document;
- gDevTools.showToolbox(target).then(testSelectTool);
- }, true);
-
- content.location = TEST_URI;
-}
-
-function testSelectTool(aToolbox) {
- toolbox = aToolbox;
- toolbox.once("options-selected", testJSEnabled);
- toolbox.selectTool("options");
-}
-
-function testJSEnabled(event, tool, secondPass) {
- ok(true, "Toolbox selected via selectTool method");
- info("Testing that JS is enabled");
-
- let logJSEnabled = doc.getElementById("logJSEnabled");
- let output = doc.getElementById("output");
-
- // We use executeSoon here because switching docSehll.allowJavascript to true
- // takes a while to become live.
- executeSoon(function() {
- EventUtils.synthesizeMouseAtCenter(logJSEnabled, {}, doc.defaultView);
- is(output.textContent, "JavaScript Enabled", 'Output is "JavaScript Enabled"');
- testJSEnabledIframe(secondPass);
- });
-}
-
-function testJSEnabledIframe(secondPass) {
- info("Testing that JS is enabled in the iframe");
-
- let iframe = doc.querySelector("iframe");
- let iframeDoc = iframe.contentDocument;
- let logJSEnabled = iframeDoc.getElementById("logJSEnabled");
- let output = iframeDoc.getElementById("output");
-
- EventUtils.synthesizeMouseAtCenter(logJSEnabled, {}, iframe.contentWindow);
- is(output.textContent, "JavaScript Enabled",
- 'Output is "JavaScript Enabled" in iframe');
- if (secondPass) {
- finishUp();
- } else {
- toggleJS().then(testJSDisabled);
- }
-}
-
-function toggleJS() {
- let deferred = Promise.defer();
- let panel = toolbox.getCurrentPanel();
- let cbx = panel.panelDoc.getElementById("devtools-disable-javascript");
-
- cbx.scrollIntoView();
-
- if (cbx.checked) {
- info("Clearing checkbox to re-enable JS");
- } else {
- info("Checking checkbox to disable JS");
- }
-
- // After uising scrollIntoView() we need to use executeSoon() to wait for the
- // browser to scroll.
- executeSoon(function() {
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- doc = content.document;
-
- deferred.resolve();
- }, true);
-
- EventUtils.synthesizeMouseAtCenter(cbx, {}, panel.panelWin);
- });
-
- return deferred.promise;
-}
-
-function testJSDisabled() {
- info("Testing that JS is disabled");
-
- let logJSDisabled = doc.getElementById("logJSDisabled");
- let output = doc.getElementById("output");
-
- EventUtils.synthesizeMouseAtCenter(logJSDisabled, {}, doc.defaultView);
- ok(output.textContent !== "JavaScript Disabled",
- 'output is not "JavaScript Disabled"');
-
- testJSDisabledIframe();
-}
-
-function testJSDisabledIframe() {
- info("Testing that JS is disabled in the iframe");
-
- let iframe = doc.querySelector("iframe");
- let iframeDoc = iframe.contentDocument;
- let logJSDisabled = iframeDoc.getElementById("logJSDisabled");
- let output = iframeDoc.getElementById("output");
-
- EventUtils.synthesizeMouseAtCenter(logJSDisabled, {}, iframe.contentWindow);
- ok(output.textContent !== "JavaScript Disabled",
- 'output is not "JavaScript Disabled" in iframe');
- toggleJS().then(function() {
- testJSEnabled(null, null, true);
- });
-}
-
-function finishUp() {
- doc = toolbox = null;
- finish();
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_options_disablejs_iframe.html b/browser/devtools/framework/test/browser_toolbox_options_disablejs_iframe.html
deleted file mode 100644
index 777bf86bf..000000000
--- a/browser/devtools/framework/test/browser_toolbox_options_disablejs_iframe.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<html>
- <head>
- <title>browser_toolbox_options_disablejs.html</title>
- <meta charset="UTF-8">
- <style>
- div {
- width: 260px;
- height: 24px;
- border: 1px solid #000;
- margin-top: 10px;
- }
- </style>
- <script type="application/javascript;version=1.8">
- function log(msg) {
- let output = document.getElementById("output");
-
- output.innerHTML = msg;
- }
- </script>
- </head>
- <body>
- <input id="logJSEnabled"
- type="button"
- value="Log JS Enabled"
- onclick="log('JavaScript Enabled')"/>
- <input id="logJSDisabled"
- type="button"
- value="Log JS Disabled"
- onclick="log('JavaScript Disabled')"/>
- <br>
- <div id="output">No output</div>
- </body>
-</html>
diff --git a/browser/devtools/framework/test/browser_toolbox_ready.js b/browser/devtools/framework/test/browser_toolbox_ready.js
deleted file mode 100644
index 29336406b..000000000
--- a/browser/devtools/framework/test/browser_toolbox_ready.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/* vim: set ts=2 et sw=2 tw=80: */
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-function test()
-{
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- let target = TargetFactory.forTab(gBrowser.selectedTab);
-
- gBrowser.selectedBrowser.addEventListener("load", function onLoad(evt) {
- gBrowser.selectedBrowser.removeEventListener(evt.type, onLoad, true);
- gDevTools.showToolbox(target).then(testReady);
- }, true);
-
- content.location = "data:text/html,test for dynamically registering and unregistering tools";
-}
-
-function testReady(toolbox)
-{
- ok(toolbox.isReady, "toolbox isReady is set");
- testDouble(toolbox);
-}
-
-function testDouble(toolbox)
-{
- let target = toolbox.target;
- let toolId = toolbox.currentToolId;
-
- gDevTools.showToolbox(target, toolId).then(function(toolbox2) {
- is(toolbox2, toolbox, "same toolbox");
- cleanup(toolbox);
- });
-}
-
-function cleanup(toolbox)
-{
- toolbox.destroy().then(function() {
- gBrowser.removeCurrentTab();
- finish();
- });
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_select_event.js b/browser/devtools/framework/test/browser_toolbox_select_event.js
deleted file mode 100644
index 58465b94a..000000000
--- a/browser/devtools/framework/test/browser_toolbox_select_event.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let toolbox;
-
-function test() {
- addTab("about:blank", function() {
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, "webconsole").then(testSelect);
- });
-}
-
-let called = {
- inspector: false,
- webconsole: false,
- styleeditor: false,
- //jsdebugger: false,
-}
-
-function testSelect(aToolbox) {
- toolbox = aToolbox;
-
- info("Toolbox fired a `ready` event");
-
- toolbox.on("select", selectCB);
-
- toolbox.selectTool("inspector");
- toolbox.selectTool("webconsole");
- toolbox.selectTool("styleeditor");
- //toolbox.selectTool("jsdebugger");
-}
-
-function selectCB(event, id) {
- called[id] = true;
- info("toolbox-select event from " + id);
-
- for (let tool in called) {
- if (!called[tool]) {
- return;
- }
- }
-
- ok(true, "All the tools fired a 'select event'");
- toolbox.off("select", selectCB);
-
- reselect();
-}
-
-function reselect() {
- for (let tool in called) {
- called[tool] = false;
- }
-
- toolbox.once("inspector-selected", function() {
- tidyUpIfAllCalled("inspector");
- });
-
- toolbox.once("webconsole-selected", function() {
- tidyUpIfAllCalled("webconsole");
- });
-
- /*
- toolbox.once("jsdebugger-selected", function() {
- tidyUpIfAllCalled("jsdebugger");
- });
- */
-
- toolbox.once("styleeditor-selected", function() {
- tidyUpIfAllCalled("styleeditor");
- });
-
- toolbox.selectTool("inspector");
- toolbox.selectTool("webconsole");
- toolbox.selectTool("styleeditor");
- //toolbox.selectTool("jsdebugger");
-}
-
-function tidyUpIfAllCalled(id) {
- called[id] = true;
- info("select event from " + id);
-
- for (let tool in called) {
- if (!called[tool]) {
- return;
- }
- }
-
- ok(true, "All the tools fired a {id}-selected event");
- tidyUp();
-}
-
-function tidyUp() {
- toolbox.destroy();
- gBrowser.removeCurrentTab();
-
- toolbox = null;
- finish();
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_sidebar.js b/browser/devtools/framework/test/browser_toolbox_sidebar.js
deleted file mode 100644
index 63bc6ab0d..000000000
--- a/browser/devtools/framework/test/browser_toolbox_sidebar.js
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-function test() {
- const Cu = Components.utils;
- let {ToolSidebar} = devtools.require("devtools/framework/sidebar");
-
- const toolURL = "data:text/xml;charset=utf8,<?xml version='1.0'?>" +
- "<?xml-stylesheet href='chrome://browser/skin/devtools/common.css' type='text/css'?>" +
- "<window xmlns='http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul'>" +
- "<hbox flex='1'><description flex='1'>foo</description><splitter class='devtools-side-splitter'/>" +
- "<tabbox flex='1' id='sidebar' class='devtools-sidebar-tabs'><tabs/><tabpanels flex='1'/></tabbox>" +
- "</hbox>" +
- "</window>";
-
- const tab1URL = "data:text/html;charset=utf8,<title>1</title><p>1</p>";
- const tab2URL = "data:text/html;charset=utf8,<title>2</title><p>2</p>";
- const tab3URL = "data:text/html;charset=utf8,<title>3</title><p>3</p>";
-
- let panelDoc;
- let tab1Selected = false;
- let registeredTabs = {};
- let readyTabs = {};
-
- let toolDefinition = {
- id: "fakeTool4242",
- visibilityswitch: "devtools.fakeTool4242.enabled",
- url: toolURL,
- label: "FAKE TOOL!!!",
- isTargetSupported: function() true,
- build: function(iframeWindow, toolbox) {
- let deferred = Promise.defer();
- executeSoon(function() {
- deferred.resolve({
- target: toolbox.target,
- toolbox: toolbox,
- isReady: true,
- destroy: function(){},
- panelDoc: iframeWindow.document,
- });
- }.bind(this));
- return deferred.promise;
- },
- };
-
- gDevTools.registerTool(toolDefinition);
-
- addTab("about:blank", function(aBrowser, aTab) {
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, toolDefinition.id).then(function(toolbox) {
- let panel = toolbox.getPanel(toolDefinition.id);
- ok(true, "Tool open");
-
- let tabbox = panel.panelDoc.getElementById("sidebar");
- panel.sidebar = new ToolSidebar(tabbox, panel, "testbug865688", true);
-
- panel.sidebar.on("new-tab-registered", function(event, id) {
- registeredTabs[id] = true;
- });
-
- panel.sidebar.once("tab1-ready", function(event) {
- info(event);
- readyTabs.tab1 = true;
- allTabsReady(panel);
- });
-
- panel.sidebar.once("tab2-ready", function(event) {
- info(event);
- readyTabs.tab2 = true;
- allTabsReady(panel);
- });
-
- panel.sidebar.once("tab3-ready", function(event) {
- info(event);
- readyTabs.tab3 = true;
- allTabsReady(panel);
- });
-
- panel.sidebar.once("tab1-selected", function(event) {
- info(event);
- tab1Selected = true;
- allTabsReady(panel);
- });
-
- panel.sidebar.addTab("tab1", tab1URL, true);
- panel.sidebar.addTab("tab2", tab2URL);
- panel.sidebar.addTab("tab3", tab3URL);
-
- panel.sidebar.show();
- }).then(null, console.error);
- });
-
- function allTabsReady(panel) {
- if (!tab1Selected || !readyTabs.tab1 || !readyTabs.tab2 || !readyTabs.tab3) {
- return;
- }
-
- ok(registeredTabs.tab1, "tab1 registered");
- ok(registeredTabs.tab2, "tab2 registered");
- ok(registeredTabs.tab3, "tab3 registered");
- ok(readyTabs.tab1, "tab1 ready");
- ok(readyTabs.tab2, "tab2 ready");
- ok(readyTabs.tab3, "tab3 ready");
-
- let tabs = panel.sidebar._tabbox.querySelectorAll("tab");
- let panels = panel.sidebar._tabbox.querySelectorAll("tabpanel");
- let label = 1;
- for (let tab of tabs) {
- is(tab.getAttribute("label"), label++, "Tab has the right title");
- }
- is(label, 4, "Found the right amount of tabs.");
- is(panel.sidebar._tabbox.selectedPanel, panels[0], "First tab is selected");
- ok(panel.sidebar.getCurrentTabID(), "tab1", "getCurrentTabID() is correct");
-
- panel.sidebar.once("tab1-unselected", function() {
- ok(true, "received 'unselected' event");
- panel.sidebar.once("tab2-selected", function() {
- ok(true, "received 'selected' event");
- panel.sidebar.hide();
- is(panel.sidebar._tabbox.getAttribute("hidden"), "true", "Sidebar hidden");
- is(panel.sidebar.getWindowForTab("tab1").location.href, tab1URL, "Window is accessible");
- testWidth(panel);
- });
- });
-
- panel.sidebar.select("tab2");
- }
-
- function testWidth(panel) {
- let tabbox = panel.panelDoc.getElementById("sidebar");
- tabbox.width = 420;
- panel.sidebar.destroy().then(function() {
- tabbox.width = 0;
- panel.sidebar = new ToolSidebar(tabbox, panel, "testbug865688", true);
- panel.sidebar.show();
- is(panel.panelDoc.getElementById("sidebar").width, 420, "Width restored")
- finishUp(panel);
- });
- }
-
- function finishUp(panel) {
- panel.sidebar.destroy();
- gDevTools.unregisterTool(toolDefinition.id);
-
- executeSoon(function() {
- gBrowser.removeCurrentTab();
- finish();
- });
- }
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_tool_ready.js b/browser/devtools/framework/test/browser_toolbox_tool_ready.js
deleted file mode 100644
index 061815518..000000000
--- a/browser/devtools/framework/test/browser_toolbox_tool_ready.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-function test() {
- addTab().then(function(data) {
- let toolIds = gDevTools.getToolDefinitionArray().map((def) => def.id);
-
- let open = function(index) {
- let toolId = toolIds[index];
-
- info("About to open " + index + "/" + toolId);
- gDevTools.showToolbox(data.target, toolId).then(function(toolbox) {
- ok(toolbox, "toolbox exists for " + toolId);
- is(toolbox.currentToolId, toolId, "currentToolId should be " + toolId);
-
- let panel = toolbox.getCurrentPanel();
- ok(panel.isReady, toolId + " panel should be ready");
-
- let nextIndex = index + 1;
- if (nextIndex >= toolIds.length) {
- toolbox.destroy();
- finish();
- }
- else {
- open(nextIndex);
- }
- }, console.error);
- };
-
- open(0);
- }).then(null, console.error);
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_window_shortcuts.js b/browser/devtools/framework/test/browser_toolbox_window_shortcuts.js
deleted file mode 100644
index be40d5591..000000000
--- a/browser/devtools/framework/test/browser_toolbox_window_shortcuts.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let Toolbox = devtools.Toolbox;
-
-let toolbox, toolIDs, idIndex;
-
-function test() {
- waitForExplicitFinish();
-
- if (window.navigator.userAgent.indexOf("Mac OS X 10.8") != -1 ||
- window.navigator.userAgent.indexOf("Windows NT 5.1") != -1) {
- info("Skipping Mac OSX 10.8 and Windows xp, see bug 838069");
- finish();
- return;
- }
- addTab("about:blank", function() {
- toolIDs = [];
- for (let [id, definition] of gDevTools._tools) {
- // Skipping Profiler due to bug 838069. Re-enable when bug 845752 is fixed
- if (definition.key && id != "jsprofiler") {
- toolIDs.push(id);
- }
- }
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- idIndex = 0;
- gDevTools.showToolbox(target, toolIDs[0], Toolbox.HostType.WINDOW)
- .then(testShortcuts);
- });
-}
-
-function testShortcuts(aToolbox, aIndex) {
- if (aIndex == toolIDs.length) {
- tidyUp();
- return;
- }
-
- toolbox = aToolbox;
- info("Toolbox fired a `ready` event");
-
- toolbox.once("select", selectCB);
-
- if (aIndex != null) {
- // This if block is to allow the call of selectCB without shortcut press for
- // the first time. That happens because on opening of toolbox, one tool gets
- // selected atleast.
-
- let key = gDevTools._tools.get(toolIDs[aIndex]).key;
- let toolModifiers = gDevTools._tools.get(toolIDs[aIndex]).modifiers;
- let modifiers = {
- accelKey: toolModifiers.contains("accel"),
- altKey: toolModifiers.contains("alt"),
- shiftKey: toolModifiers.contains("shift"),
- };
- idIndex = aIndex;
- info("Testing shortcut for tool " + aIndex + ":" + toolIDs[aIndex] +
- " using key " + key);
- EventUtils.synthesizeKey(key, modifiers, toolbox.doc.defaultView.parent);
- }
-}
-
-function selectCB(event, id) {
- info("toolbox-select event from " + id);
-
- is(toolIDs.indexOf(id), idIndex,
- "Correct tool is selected on pressing the shortcut for " + id);
-
- testShortcuts(toolbox, idIndex + 1);
-}
-
-function tidyUp() {
- toolbox.destroy().then(function() {
- gBrowser.removeCurrentTab();
-
- toolbox = toolIDs = idIndex = Toolbox = null;
- finish();
- });
-}
diff --git a/browser/devtools/framework/test/browser_toolbox_window_title_changes.js b/browser/devtools/framework/test/browser_toolbox_window_title_changes.js
deleted file mode 100644
index 6cf238eeb..000000000
--- a/browser/devtools/framework/test/browser_toolbox_window_title_changes.js
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-let Toolbox = devtools.Toolbox;
-let temp = {};
-Cu.import("resource://gre/modules/Services.jsm", temp);
-let Services = temp.Services;
-temp = null;
-
-function test() {
- waitForExplicitFinish();
-
- const URL_1 = "data:text/plain;charset=UTF-8,abcde";
- const URL_2 = "data:text/plain;charset=UTF-8,12345";
-
- const TOOL_ID_1 = "webconsole";
- const TOOL_ID_2 = "jsdebugger";
-
- const LABEL_1 = "Console";
- const LABEL_2 = "Debugger";
-
- let toolbox;
-
- addTab(URL_1, function () {
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- gDevTools.showToolbox(target, null, Toolbox.HostType.BOTTOM)
- .then(function (aToolbox) { toolbox = aToolbox; })
- .then(function () toolbox.selectTool(TOOL_ID_1))
-
- // undock toolbox and check title
- .then(function () toolbox.switchHost(Toolbox.HostType.WINDOW))
- .then(checkTitle.bind(null, LABEL_1, URL_1, "toolbox undocked"))
-
- // switch to different tool and check title
- .then(function () toolbox.selectTool(TOOL_ID_2))
- .then(checkTitle.bind(null, LABEL_2, URL_1, "tool changed"))
-
- // navigate to different url and check title
- .then(function () {
- let deferred = Promise.defer();
- target.once("navigate", function () deferred.resolve());
- gBrowser.loadURI(URL_2);
- return deferred.promise;
- })
- .then(checkTitle.bind(null, LABEL_2, URL_2, "url changed"))
-
- // destroy toolbox, create new one hosted in a window (with a
- // different tool id), and check title
- .then(function () {
- // Give the tools a chance to handle the navigation event before
- // destroying the toolbox.
- executeSoon(function() {
- toolbox.destroy()
- .then(function () {
- // After destroying the toolbox, a fresh target is required.
- target = TargetFactory.forTab(gBrowser.selectedTab);
- return gDevTools.showToolbox(target, null, Toolbox.HostType.WINDOW);
- })
- .then(function (aToolbox) { toolbox = aToolbox; })
- .then(function () toolbox.selectTool(TOOL_ID_1))
- .then(checkTitle.bind(null, LABEL_1, URL_2,
- "toolbox destroyed and recreated"))
-
- // clean up
- .then(function () toolbox.destroy())
- .then(function () {
- toolbox = null;
- gBrowser.removeCurrentTab();
- Services.prefs.clearUserPref("devtools.toolbox.host");
- Services.prefs.clearUserPref("devtools.toolbox.selectedTool");
- Services.prefs.clearUserPref("devtools.toolbox.sideEnabled");
- finish();
- });
- });
- });
- });
-}
-
-function checkTitle(toolLabel, url, context) {
- let win = Services.wm.getMostRecentWindow("devtools:toolbox");
- let definitions = gDevTools.getToolDefinitionMap();
- let expectedTitle = toolLabel + " - " + url;
- is(win.document.title, expectedTitle, context);
-}
diff --git a/browser/devtools/framework/test/head.js b/browser/devtools/framework/test/head.js
deleted file mode 100644
index 84a144a74..000000000
--- a/browser/devtools/framework/test/head.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-let TargetFactory = gDevTools.TargetFactory;
-
-let tempScope = {};
-Components.utils.import("resource://gre/modules/devtools/Console.jsm", tempScope);
-let console = tempScope.console;
-Components.utils.import("resource://gre/modules/commonjs/sdk/core/promise.js", tempScope);
-let Promise = tempScope.Promise;
-
-let {devtools} = Components.utils.import("resource://gre/modules/devtools/Loader.jsm", {});
-let TargetFactory = devtools.TargetFactory;
-
-/**
- * Open a new tab at a URL and call a callback on load
- */
-function addTab(aURL, aCallback)
-{
- waitForExplicitFinish();
-
- gBrowser.selectedTab = gBrowser.addTab();
- if (aURL != null) {
- content.location = aURL;
- }
-
- let deferred = Promise.defer();
-
- let tab = gBrowser.selectedTab;
- let target = TargetFactory.forTab(gBrowser.selectedTab);
- let browser = gBrowser.getBrowserForTab(tab);
-
- function onTabLoad() {
- browser.removeEventListener("load", onTabLoad, true);
-
- if (aCallback != null) {
- aCallback(browser, tab, browser.contentDocument);
- }
-
- deferred.resolve({ browser: browser, tab: tab, target: target });
- }
-
- browser.addEventListener("load", onTabLoad, true);
- return deferred.promise;
-}
-
-registerCleanupFunction(function tearDown() {
- while (gBrowser.tabs.length > 1) {
- gBrowser.removeCurrentTab();
- }
-});
-
-function synthesizeKeyFromKeyTag(aKeyId, document) {
- let key = document.getElementById(aKeyId);
- isnot(key, null, "Successfully retrieved the <key> node");
-
- let modifiersAttr = key.getAttribute("modifiers");
-
- let name = null;
-
- if (key.getAttribute("keycode"))
- name = key.getAttribute("keycode");
- else if (key.getAttribute("key"))
- name = key.getAttribute("key");
-
- isnot(name, null, "Successfully retrieved keycode/key");
-
- let modifiers = {
- shiftKey: modifiersAttr.match("shift"),
- ctrlKey: modifiersAttr.match("ctrl"),
- altKey: modifiersAttr.match("alt"),
- metaKey: modifiersAttr.match("meta"),
- accelKey: modifiersAttr.match("accel")
- }
-
- EventUtils.synthesizeKey(name, modifiers);
-}
diff --git a/browser/devtools/framework/test/moz.build b/browser/devtools/framework/test/moz.build
deleted file mode 100644
index 895d11993..000000000
--- a/browser/devtools/framework/test/moz.build
+++ /dev/null
@@ -1,6 +0,0 @@
-# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-