75 lines
2.0 KiB
JavaScript
75 lines
2.0 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Tests that cached JS files show the expected stacktraces.
|
|
*/
|
|
|
|
add_task(async function () {
|
|
const URL = EXAMPLE_URL + "html_cache-test-page-js.html";
|
|
const SCRIPT_URL = EXAMPLE_URL + "js_cache-test2.js";
|
|
|
|
const { monitor } = await initNetMonitor(URL, {
|
|
requestCount: 1,
|
|
enableCache: true,
|
|
});
|
|
|
|
const { document, store, windowRequire } = monitor.panelWin;
|
|
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
|
|
|
|
store.dispatch(Actions.batchEnable(false));
|
|
|
|
info("Starting test... ");
|
|
|
|
const allRequestsVisible = waitUntil(
|
|
() => document.querySelectorAll(".request-list-item").length == 3
|
|
);
|
|
|
|
await waitForAllNetworkUpdateEvents();
|
|
await reloadSelectedTab();
|
|
await allRequestsVisible;
|
|
|
|
const onStackTracesVisible = waitUntil(
|
|
() => document.querySelector("#stack-trace-panel .stack-trace .frame-link"),
|
|
"Wait for the stacktrace to be rendered"
|
|
);
|
|
|
|
const file = document.querySelector(
|
|
`.request-list-item .requests-list-file[title="${SCRIPT_URL}"]`
|
|
);
|
|
const initiator = file.parentNode.querySelector(".requests-list-initiator");
|
|
|
|
ok(
|
|
initiator.textContent.includes("js_cache-test.js:6"),
|
|
"Initiator column should show the source line"
|
|
);
|
|
|
|
// Select the script request initiated by another script.
|
|
EventUtils.sendMouseEvent({ type: "mousedown" }, file);
|
|
|
|
// Wait for the stack trace tab to show
|
|
await waitUntil(() =>
|
|
document.querySelector(".network-details-bar #stack-trace-tab")
|
|
);
|
|
|
|
clickOnSidebarTab(document, "stack-trace");
|
|
|
|
await onStackTracesVisible;
|
|
|
|
const panel = document.querySelector("#stack-trace-panel");
|
|
|
|
ok(
|
|
panel.textContent.includes("scriptInitiatorFunc"),
|
|
"Stacktrace should show the enclosing function name"
|
|
);
|
|
|
|
ok(
|
|
panel.textContent.includes("js_cache-test.js:6"),
|
|
"Stacktrace should show the source line"
|
|
);
|
|
|
|
return teardown(monitor);
|
|
});
|