Files
firefox/devtools/client/framework/test/browser_source_map-init.js
T
Alexandre Poirot c49bc21e07 Bug 1834713 - [devtools] Fix test using createVersionizedHttpTestServer on http3. r=jdescottes,devtools-reviewers
These test were trying to fetch http:// URL which were redirected to https://
and the fetch done by createVersionizedHttpTestServer was throwing.

Differential Revision: https://phabricator.services.mozilla.com/D178779
2023-05-26 08:21:19 +00:00

52 lines
1.6 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Test that the source map service initializes properly when source
// actors have already been created. Regression test for bug 1391768.
"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 ORIGINAL_URL = "webpack:///code_no_race.js";
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");
// In bug 1391768, when the sourceMapURLService was created, it was
// 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");
// 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();
});