summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/test/mochitest/browser_dbg-reload.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/debugger/test/mochitest/browser_dbg-reload.js')
-rw-r--r--devtools/client/debugger/test/mochitest/browser_dbg-reload.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/browser_dbg-reload.js b/devtools/client/debugger/test/mochitest/browser_dbg-reload.js
new file mode 100644
index 0000000000..ddeee21346
--- /dev/null
+++ b/devtools/client/debugger/test/mochitest/browser_dbg-reload.js
@@ -0,0 +1,43 @@
+/* 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/>. */
+
+/*
+ * Test reloading:
+ * 1. reload the source
+ * 2. re-sync breakpoints
+ */
+
+add_task(async function() {
+ const dbg = await initDebugger("reload/doc-reload.html");
+
+ await waitForSource(dbg, "sjs_code_reload");
+ await selectSource(dbg, "sjs_code_reload");
+ await addBreakpoint(dbg, "sjs_code_reload", 2);
+
+ await waitForRequestsToSettle(dbg);
+ await reload(dbg, "sjs_code_reload.sjs");
+ await waitForSelectedSource(dbg, "sjs_code_reload.sjs");
+
+ const source = findSource(dbg, "sjs_code_reload");
+ const location = { sourceId: source.id, line: 6, column: 2 };
+
+ await waitForBreakpoint(dbg, location);
+
+ const breakpointList = dbg.selectors.getBreakpointsList();
+ const breakpoint = breakpointList[0];
+
+ is(breakpointList.length, 1);
+ is(breakpoint.location.line, 6);
+ await waitForRequestsToSettle(dbg);
+});
+
+async function waitForBreakpoint(dbg, location) {
+ return waitForState(
+ dbg,
+ state => {
+ return dbg.selectors.getBreakpoint(location);
+ },
+ "Waiting for breakpoint"
+ );
+}