summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/test/mochitest/browser_dbg-stepping.js
blob: 5935c7c3af62cdca4fbfd1aa2b71d3066b7ae776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/* 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/>. */

"use strict";

// This test can be really slow on debug platforms
requestLongerTimeout(5);

add_task(async function test() {
  await pushPref("devtools.debugger.map-scopes-enabled", true);
  const dbg = await initDebugger(
    "big-sourcemap.html",
    "bundle.js",
    "step-in-test.js"
  );
  invokeInTab("hitDebugStatement");
  // Bug 1829860 - The sourcemap for this file is broken and we couldn't resolve the paused location
  // to the related original file. The debugger fallbacks to the generated source,
  // but that highlights a bug in the example page.
  await waitForPaused(dbg, "bundle.js");
  assertPausedAtSourceAndLine(dbg, findSource(dbg, "bundle.js").id, 52411);

  await stepIn(dbg);

  const whyPaused = await waitFor(
    () => dbg.win.document.querySelector(".why-paused")?.innerText
  );
  is(whyPaused, `Paused while stepping`);

  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);
  await stepIn(dbg);

  // Note that we are asserting against an original source here,
  // See earlier comment about paused in bundle.js
  assertPausedAtSourceAndLine(dbg, findSource(dbg, "step-in-test.js").id, 7679);
});