summaryrefslogtreecommitdiffstats
path: root/devtools/client/framework/test/browser_toolbox_view_source_02.js
blob: 25bf0c2717b3e244aef7d4702aa6b0e66327f771 (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
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

/**
 * Tests that Toolbox#viewSourceInDebugger works when debugger is already loaded.
 */

var URL = `${URL_ROOT_SSL}doc_viewsource.html`;
var JS_URL = `${URL_ROOT_SSL}code_math.js`;

async function viewSource() {
  const toolbox = await openNewTabAndToolbox(URL);
  await toolbox.selectTool("jsdebugger");

  await toolbox.viewSourceInDebugger(JS_URL, 2);

  const debuggerPanel = toolbox.getPanel("jsdebugger");
  ok(debuggerPanel, "The debugger panel was opened.");
  is(toolbox.currentToolId, "jsdebugger", "The debugger panel was selected.");

  assertSelectedLocationInDebugger(debuggerPanel, 2, undefined);

  // See Bug 1637793 and Bug 1621337.
  // Ideally the debugger should only resolve when the worker targets have been
  // retrieved, which should be fixed by Bug 1621337 or a followup.
  info("Wait for all pending requests to settle on the DevToolsClient");
  await toolbox.commands.client.waitForRequestsToSettle();

  await closeToolboxAndTab(toolbox);
  finish();
}

function test() {
  viewSource().then(finish, aError => {
    ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
    finish();
  });
}