1
0
Fork 0
firefox/devtools/client/netmonitor/test/browser_net_footer-summary.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

124 lines
3.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Test if the summary text displayed in the network requests menu footer is correct.
*/
add_task(async function () {
const {
getFormattedSize,
getFormattedTime,
} = require("resource://devtools/client/netmonitor/src/utils/format-utils.js");
requestLongerTimeout(2);
const { tab, monitor } = await initNetMonitor(FILTERING_URL, {
requestCount: 1,
});
info("Starting test... ");
const { document, store, windowRequire } = monitor.panelWin;
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
const { getDisplayedRequestsSummary } = windowRequire(
"devtools/client/netmonitor/src/selectors/index"
);
const l10n = new Localization(["devtools/client/netmonitor.ftl"], true);
store.dispatch(Actions.batchEnable(false));
testStatus();
for (let i = 0; i < 2; i++) {
info(`Performing requests in batch #${i}`);
const wait = waitForNetworkEvents(monitor, 8);
await SpecialPowers.spawn(tab.linkedBrowser, [], async function () {
content.wrappedJSObject.performRequests(
'{ "getMedia": true, "getFlash": true }'
);
});
await wait;
testStatus();
const buttons = ["html", "css", "js", "xhr", "fonts", "images", "media"];
for (const button of buttons) {
const buttonEl = document.querySelector(
`.requests-list-filter-${button}-button`
);
EventUtils.sendMouseEvent({ type: "click" }, buttonEl);
testStatus();
}
}
await teardown(monitor);
function testStatus() {
const state = store.getState();
const totalRequestsCount = state.requests.requests.length;
const requestsSummary = getDisplayedRequestsSummary(state);
info(
`Current requests: ${requestsSummary.count} of ${totalRequestsCount}.`
);
const countEl = document.querySelector(
".requests-list-network-summary-count"
);
info(`Current summary count: ${countEl.textContent}`);
const expectedCount = l10n.formatValueSync(
"network-menu-summary-requests-count",
{ requestCount: requestsSummary.count }
);
is(
countEl.textContent,
expectedCount,
"The current summary count is correct."
);
if (!totalRequestsCount || !requestsSummary.count) {
return;
}
const transferEl = document.querySelector(
".requests-list-network-summary-transfer"
);
info(`Current summary transfer: ${transferEl.textContent}`);
const expectedTransfer = l10n.formatValueSync(
"network-menu-summary-transferred",
{
formattedContentSize: getFormattedSize(requestsSummary.contentSize),
formattedTransferredSize: getFormattedSize(
requestsSummary.transferredSize
),
}
);
is(
transferEl.textContent,
expectedTransfer,
"The current summary transfer is correct."
);
const finishEl = document.querySelector(
".requests-list-network-summary-finish"
);
info(`Current summary finish: ${finishEl.textContent}`);
const expectedFinish = l10n.formatValueSync("network-menu-summary-finish", {
formattedTime: getFormattedTime(requestsSummary.ms),
});
info(`Computed total bytes: ${requestsSummary.bytes}`);
info(`Computed total ms: ${requestsSummary.ms}`);
is(
finishEl.textContent,
expectedFinish,
"The current summary finish is correct."
);
}
});