/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that a missing original source is reported.
const JS_URL = URL_ROOT + "code_bundle_nosource.js";
const PAGE_URL = `data:text/html,
Empty test page to test source map with missing original source
`;
add_task(async function () {
await pushPref("devtools.source-map.client-service.enabled", true);
const hud = await openNewTabAndConsole(PAGE_URL);
const toolbox = hud.ui.wrapper.toolbox;
info('Finding "here" message and waiting for source map to be applied');
await waitFor(() => {
const node = findConsoleAPIMessage(hud, "here");
if (!node) {
return false;
}
const messageLocationNode = node.querySelector(".message-location");
const url = messageLocationNode.getAttribute("data-url");
return url.includes("nosuchfile");
});
await testOpenInDebugger(hud, {
text: "here",
typeSelector: ".console-api",
expectUrl: true,
expectLine: false,
expectColumn: false,
});
info("Selecting the console again");
await toolbox.selectTool("webconsole");
const node = await waitFor(() => findWarningMessage(hud, "original source"));
ok(node, "source map error is displayed in web console");
ok(
!!node.querySelector(".learn-more-link"),
"source map error has learn more link"
);
});