summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js')
-rw-r--r--devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js b/devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js
new file mode 100644
index 000000000..381b6b7fd
--- /dev/null
+++ b/devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js
@@ -0,0 +1,47 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+function countSources(dbg) {
+ const sources = dbg.selectors.getSources(dbg.getState());
+ return sources.size;
+}
+
+/**
+ * Test navigating
+ * navigating while paused will reset the pause state and sources
+ */
+add_task(function* () {
+ const dbg = yield initDebugger("doc-script-switching.html");
+ const { selectors: { getSelectedSource, getPause }, getState } = dbg;
+
+ invokeInTab("firstCall");
+ yield waitForPaused(dbg);
+
+ yield navigate(dbg, "doc-scripts.html", "simple1.js");
+ yield addBreakpoint(dbg, "simple1.js", 4);
+ invokeInTab("main");
+ yield waitForPaused(dbg);
+ assertPausedLocation(dbg, "simple1.js", 4);
+ is(countSources(dbg), 4, "4 sources are loaded.");
+
+ yield navigate(dbg, "about:blank");
+ yield waitForDispatch(dbg, "NAVIGATE");
+ is(countSources(dbg), 0, "0 sources are loaded.");
+ ok(!getPause(getState()), "No pause state exists");
+
+ yield navigate(dbg,
+ "doc-scripts.html",
+ "simple1.js",
+ "simple2.js",
+ "long.js",
+ "scripts.html"
+ );
+
+ is(countSources(dbg), 4, "4 sources are loaded.");
+
+ // Test that the current select source persists across reloads
+ yield selectSource(dbg, "long.js");
+ yield reload(dbg, "long.js");
+ ok(getSelectedSource(getState()).get("url").includes("long.js"),
+ "Selected source is long.js");
+});