Blame devtools/client/debugger/new/test/mochitest/browser_dbg-navigation.js

Packit f0b94e
/* Any copyright is dedicated to the Public Domain.
Packit f0b94e
 * http://creativecommons.org/publicdomain/zero/1.0/ */
Packit f0b94e
Packit f0b94e
function countSources(dbg) {
Packit f0b94e
  const sources = dbg.selectors.getSources(dbg.getState());
Packit f0b94e
  return sources.size;
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
/**
Packit f0b94e
 * Test navigating
Packit f0b94e
 * navigating while paused will reset the pause state and sources
Packit f0b94e
 */
Packit f0b94e
add_task(async function() {
Packit f0b94e
  const dbg = await initDebugger("doc-script-switching.html");
Packit f0b94e
  const { selectors: { getSelectedSource, isPaused }, getState } = dbg;
Packit f0b94e
Packit f0b94e
  invokeInTab("firstCall");
Packit f0b94e
  await waitForPaused(dbg);
Packit f0b94e
Packit f0b94e
  await navigate(dbg, "doc-scripts.html", "simple1.js");
Packit f0b94e
  await addBreakpoint(dbg, "simple1.js", 4);
Packit f0b94e
  invokeInTab("main");
Packit f0b94e
  await waitForPaused(dbg);
Packit f0b94e
  await waitForLoadedSource(dbg, "simple1");
Packit f0b94e
  toggleScopes(dbg);
Packit f0b94e
Packit f0b94e
  assertPausedLocation(dbg);
Packit f0b94e
  is(countSources(dbg), 5, "5 sources are loaded.");
Packit f0b94e
Packit f0b94e
  await navigate(dbg, "about:blank");
Packit f0b94e
  await waitForDispatch(dbg, "NAVIGATE");
Packit f0b94e
  is(countSources(dbg), 0, "0 sources are loaded.");
Packit f0b94e
  ok(!isPaused(getState()), "Is not paused");
Packit f0b94e
Packit f0b94e
  await navigate(
Packit f0b94e
    dbg,
Packit f0b94e
    "doc-scripts.html",
Packit f0b94e
    "simple1.js",
Packit f0b94e
    "simple2.js",
Packit f0b94e
    "simple3.js",
Packit f0b94e
    "long.js",
Packit f0b94e
    "scripts.html"
Packit f0b94e
  );
Packit f0b94e
Packit f0b94e
  is(countSources(dbg), 5, "5 sources are loaded.");
Packit f0b94e
Packit f0b94e
  // Test that the current select source persists across reloads
Packit f0b94e
  await selectSource(dbg, "long.js");
Packit f0b94e
  await reload(dbg, "long.js");
Packit f0b94e
  ok(
Packit f0b94e
    getSelectedSource(getState())
Packit f0b94e
      .get("url")
Packit f0b94e
      .includes("long.js"),
Packit f0b94e
    "Selected source is long.js"
Packit f0b94e
  );
Packit f0b94e
});