diff --git a/devtools/client/application/test/browser.ini b/devtools/client/application/test/browser.ini
index f5e5f31e7fc5..aae729fbf96d 100644
--- a/devtools/client/application/test/browser.ini
+++ b/devtools/client/application/test/browser.ini
@@ -12,6 +12,7 @@ support-files =
service-workers/simple.html
service-workers/simple-unicode.html
!/devtools/client/debugger/new/test/mochitest/helpers.js
+ !/devtools/client/debugger/new/test/mochitest/helpers/context.js
!/devtools/client/shared/test/frame-script-utils.js
!/devtools/client/shared/test/shared-head.js
!/devtools/client/shared/test/telemetry-test-helpers.js
diff --git a/devtools/client/application/test/browser_application_panel_debug-service-worker.js b/devtools/client/application/test/browser_application_panel_debug-service-worker.js
index 6283b62a133b..d73e25bfc417 100644
--- a/devtools/client/application/test/browser_application_panel_debug-service-worker.js
+++ b/devtools/client/application/test/browser_application_panel_debug-service-worker.js
@@ -8,6 +8,11 @@ Services.scriptloader.loadSubScript(
"chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers.js",
this);
+/* import-globals-from ../../debugger/new/test/mochitest/helpers/context.js */
+Services.scriptloader.loadSubScript(
+ "chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers/context.js",
+ this);
+
const TAB_URL = URL_ROOT + "service-workers/debug.html";
add_task(async function() {
diff --git a/devtools/client/canvasdebugger/test/browser.ini b/devtools/client/canvasdebugger/test/browser.ini
index 7139680c29a0..7149df2e2088 100644
--- a/devtools/client/canvasdebugger/test/browser.ini
+++ b/devtools/client/canvasdebugger/test/browser.ini
@@ -17,6 +17,7 @@ support-files =
head.js
!/devtools/client/shared/test/frame-script-utils.js
!/devtools/client/shared/test/shared-head.js
+ !/devtools/client/debugger/new/test/mochitest/helpers/context.js
!/devtools/client/shared/test/telemetry-test-helpers.js
[browser_canvas-actor-test-01.js]
diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js
index eac69542e0e4..880e4887ede6 100644
--- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-01.js
@@ -5,11 +5,7 @@
* Tests if the a function call's stack is properly displayed in the UI.
*/
-// Force the old debugger UI since it's directly used (see Bug 1301705)
-Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false);
-registerCleanupFunction(function() {
- Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend");
-});
+requestLongerTimeout(2);
async function ifTestingSupported() {
const { target, panel } = await initCanvasDebuggerFrontend(SIMPLE_CANVAS_DEEP_STACK_URL);
@@ -70,12 +66,8 @@ async function ifTestingSupported() {
await jumpedToSource;
const toolbox = await gDevTools.getToolbox(target);
- const { panelWin: { DebuggerView: view } } = toolbox.getPanel("jsdebugger");
-
- is(view.Sources.selectedValue, getSourceActor(view.Sources, SIMPLE_CANVAS_DEEP_STACK_URL),
- "The expected source was shown in the debugger.");
- is(view.editor.getCursor().line, 25,
- "The expected source line is highlighted in the debugger.");
+ const dbg = createDebuggerContext(toolbox);
+ await validateDebuggerLocation(dbg, SIMPLE_CANVAS_DEEP_STACK_URL, 26);
await teardown(panel);
finish();
diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js
index 5314d8da146e..4434eb125c99 100644
--- a/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js
+++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-call-stack-02.js
@@ -6,11 +6,7 @@
* and jumping to source in the debugger for the topmost call item works.
*/
-// Force the old debugger UI since it's directly used (see Bug 1301705)
-Services.prefs.setBoolPref("devtools.debugger.new-debugger-frontend", false);
-registerCleanupFunction(function() {
- Services.prefs.clearUserPref("devtools.debugger.new-debugger-frontend");
-});
+requestLongerTimeout(2);
async function ifTestingSupported() {
const { target, panel } = await initCanvasDebuggerFrontend(SIMPLE_CANVAS_DEEP_STACK_URL);
@@ -45,12 +41,8 @@ async function ifTestingSupported() {
await jumpedToSource;
const toolbox = await gDevTools.getToolbox(target);
- const { panelWin: { DebuggerView: view } } = toolbox.getPanel("jsdebugger");
-
- is(view.Sources.selectedValue, getSourceActor(view.Sources, SIMPLE_CANVAS_DEEP_STACK_URL),
- "The expected source was shown in the debugger.");
- is(view.editor.getCursor().line, 23,
- "The expected source line is highlighted in the debugger.");
+ const dbg = createDebuggerContext(toolbox);
+ await validateDebuggerLocation(dbg, SIMPLE_CANVAS_DEEP_STACK_URL, 24);
await teardown(panel);
finish();
diff --git a/devtools/client/canvasdebugger/test/head.js b/devtools/client/canvasdebugger/test/head.js
index 5dcc536abd40..15e50578a6b7 100644
--- a/devtools/client/canvasdebugger/test/head.js
+++ b/devtools/client/canvasdebugger/test/head.js
@@ -3,6 +3,7 @@
/* eslint no-unused-vars: [2, {"vars": "local"}] */
/* import-globals-from ../../shared/test/shared-head.js */
+/* import-globals-from ../../debugger/new/test/mochitest/helpers/context.js */
"use strict";
@@ -11,6 +12,11 @@ Services.scriptloader.loadSubScript(
"chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js",
this);
+// Import helpers for the new debugger
+Services.scriptloader.loadSubScript(
+ "chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers/context.js",
+ this);
+
var { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
var { DebuggerClient } = require("devtools/shared/client/debugger-client");
@@ -173,3 +179,13 @@ function getSourceActor(aSources, aURL) {
const item = aSources.getItemForAttachment(a => a.source.url === aURL);
return item ? item.value : null;
}
+
+async function validateDebuggerLocation(dbg, url, line) {
+ const location = dbg.selectors.getSelectedLocation(dbg.getState());
+ const sourceUrl = dbg.selectors.getSelectedSource(dbg.getState()).url;
+
+ is(sourceUrl, url,
+ "The expected source was shown in the debugger.");
+ is(location.line, line,
+ "The expected source line is highlighted in the debugger.");
+}
diff --git a/devtools/client/debugger/new/test/mochitest/helpers.js b/devtools/client/debugger/new/test/mochitest/helpers.js
index abfbda51ae30..a958baf0e21b 100644
--- a/devtools/client/debugger/new/test/mochitest/helpers.js
+++ b/devtools/client/debugger/new/test/mochitest/helpers.js
@@ -6,6 +6,11 @@
* required from other panel test files.
*/
+// Import helpers for the new debugger
+Services.scriptloader.loadSubScript(
+ "chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers/context.js",
+ this);
+
var { Toolbox } = require("devtools/client/framework/toolbox");
var { Task } = require("devtools/shared/task");
var asyncStorage = require("devtools/shared/async-storage");
@@ -462,23 +467,6 @@ function isSelectedFrameSelected(dbg, state) {
return source.id == sourceId;
}
-function createDebuggerContext(toolbox) {
- const panel = toolbox.getPanel("jsdebugger");
- const win = panel.panelWin;
- const { store, client, selectors, actions } = panel.getVarsForTests();
-
- return {
- actions: actions,
- selectors: selectors,
- getState: store.getState,
- store: store,
- client: client,
- toolbox: toolbox,
- win: win,
- panel: panel
- };
-}
-
/**
* Clear all the debugger related preferences.
*/
diff --git a/devtools/client/inspector/markup/test/browser.ini b/devtools/client/inspector/markup/test/browser.ini
index 8fb39cdf965a..92890a526efd 100644
--- a/devtools/client/inspector/markup/test/browser.ini
+++ b/devtools/client/inspector/markup/test/browser.ini
@@ -70,6 +70,7 @@ support-files =
lib_react_with_addons_15.4.1.js
react_external_listeners.js
!/devtools/client/debugger/new/test/mochitest/helpers.js
+ !/devtools/client/debugger/new/test/mochitest/helpers/context.js
!/devtools/client/inspector/test/head.js
!/devtools/client/inspector/test/shared-head.js
!/devtools/client/shared/test/shared-head.js
diff --git a/devtools/client/inspector/markup/test/browser_markup_shadowdom_open_debugger.js b/devtools/client/inspector/markup/test/browser_markup_shadowdom_open_debugger.js
index f40cdbefd607..75b943dc4518 100644
--- a/devtools/client/inspector/markup/test/browser_markup_shadowdom_open_debugger.js
+++ b/devtools/client/inspector/markup/test/browser_markup_shadowdom_open_debugger.js
@@ -15,6 +15,11 @@ Services.scriptloader.loadSubScript(
"chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers.js",
this);
+/* import-globals-from ../../../debugger/new/test/mochitest/helpers/context.js */
+Services.scriptloader.loadSubScript(
+ "chrome://mochitests/content/browser/devtools/client/debugger/new/test/mochitest/helpers/context.js",
+ this);
+
const TEST_URL = `data:text/html;charset=utf-8,` + encodeURIComponent(`
some-content