1
0
Fork 0
firefox/devtools/client/netmonitor/test/browser_net_duration.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

67 lines
1.7 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if pending requests are labeled as "" (empty string) in the Duration column.
*/
add_task(async function () {
const { monitor } = await initNetMonitor(SLOW_REQUESTS_URL, {
requestCount: 1,
});
const { document, store, windowRequire } = monitor.panelWin;
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
const { getDisplayedRequests } = windowRequire(
"devtools/client/netmonitor/src/selectors/index"
);
store.dispatch(Actions.batchEnable(false));
let waitForPending = waitForNetworkEvents(monitor, 1, {
expectedPayloadReady: 0,
expectedEventTimings: 0,
});
info("Starting test... ");
performRequestsInContent([
{
url: "sjs_long-polling-server.sjs",
method: "GET",
},
]);
await waitForPending;
const pendingArr = getDurations();
waitForPending = waitForNetworkEvents(monitor, 1);
performRequestsInContent([
{
url: "sjs_long-polling-server.sjs?unblock",
method: "GET",
},
]);
await waitForPending;
const resolvedArr = getDurations();
is(pendingArr[0], "", "Duration should be listed as '' until resolved.");
is(
resolvedArr[0],
`${getDisplayedRequests(store.getState())[0].totalTime} ms`,
"Duration of resolved request should be displayed correctly."
);
function getDurations() {
const items = document.querySelectorAll(".request-list-item");
const result = [];
for (const item of items) {
const duration = item.querySelector(
".requests-list-duration-time"
).textContent;
result.push(duration);
}
return result;
}
});