Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
// Test that the source map service initializes properly when source
"use strict";
const JS_URL = URL_ROOT_SSL + "code_bundle_no_race.js";
const PAGE_URL = `data:text/html,
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Empty test page to test race case</title>
</head>
<body>
<script src="${JS_URL}"></script>
</body>
</html>`;
const GENERATED_LINE = 84;
const ORIGINAL_LINE = 11;
add_task(async function () {
// Opening the debugger causes the source actors to be created.
const toolbox = await openNewTabAndToolbox(PAGE_URL, "jsdebugger");
// ignoring any source actors that already existed, leading to
// source-mapping failures for those.
const service = toolbox.sourceMapURLService;
info(`checking original location for ${JS_URL}:${GENERATED_LINE}`);
const newLoc = await new Promise(r =>
service.subscribeByURL(JS_URL, GENERATED_LINE, undefined, r)
);
is(newLoc.url, ORIGINAL_URL, "check mapped URL");
is(newLoc.line, ORIGINAL_LINE, "check mapped line number");
// Ideally the debugger should only resolve when the worker targets have been
info("Wait for all pending requests to settle on the DevToolsClient");
await toolbox.commands.client.waitForRequestsToSettle();
});