124 lines
3.4 KiB
JavaScript
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."
|
|
);
|
|
}
|
|
});
|