mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 20:47:44 +00:00
117 lines
4.1 KiB
JavaScript
117 lines
4.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Test if the summary text displayed in the network requests menu footer
|
|
* is correct.
|
|
*/
|
|
|
|
function test() {
|
|
requestLongerTimeout(2);
|
|
let { PluralForm } = Cu.import("resource://gre/modules/PluralForm.jsm", {});
|
|
|
|
initNetMonitor(FILTERING_URL).then(([aTab, aDebuggee, aMonitor]) => {
|
|
info("Starting test... ");
|
|
|
|
let { $, L10N, NetMonitorView } = aMonitor.panelWin;
|
|
let { RequestsMenu } = NetMonitorView;
|
|
|
|
RequestsMenu.lazyUpdate = false;
|
|
testStatus();
|
|
|
|
waitForNetworkEvents(aMonitor, 8).then(() => {
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-html-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-css-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-js-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-xhr-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-fonts-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-images-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-media-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-flash-button"));
|
|
testStatus();
|
|
|
|
info("Performing more requests.");
|
|
aDebuggee.performRequests('{ "getMedia": true, "getFlash": true }');
|
|
return waitForNetworkEvents(aMonitor, 8);
|
|
})
|
|
.then(() => {
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-html-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-css-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-js-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-xhr-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-fonts-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-images-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-media-button"));
|
|
testStatus();
|
|
|
|
EventUtils.sendMouseEvent({ type: "click" }, $("#requests-menu-filter-flash-button"));
|
|
testStatus();
|
|
|
|
teardown(aMonitor).then(finish);
|
|
})
|
|
|
|
function testStatus() {
|
|
let summary = $("#requests-menu-network-summary-label");
|
|
let value = summary.getAttribute("value");
|
|
info("Current summary: " + value);
|
|
|
|
let visibleItems = RequestsMenu.visibleItems;
|
|
let visibleRequestsCount = visibleItems.length;
|
|
let totalRequestsCount = RequestsMenu.itemCount;
|
|
info("Current requests: " + visibleRequestsCount + " of " + totalRequestsCount + ".");
|
|
|
|
if (!totalRequestsCount || !visibleRequestsCount) {
|
|
is(value, L10N.getStr("networkMenu.empty"),
|
|
"The current summary text is incorrect, expected an 'empty' label.");
|
|
return;
|
|
}
|
|
|
|
let totalBytes = RequestsMenu._getTotalBytesOfRequests(visibleItems);
|
|
let totalMillis =
|
|
RequestsMenu._getNewestRequest(visibleItems).attachment.endedMillis -
|
|
RequestsMenu._getOldestRequest(visibleItems).attachment.startedMillis;
|
|
|
|
info("Computed total bytes: " + totalBytes);
|
|
info("Computed total millis: " + totalMillis);
|
|
|
|
is(value, PluralForm.get(visibleRequestsCount, L10N.getStr("networkMenu.summary"))
|
|
.replace("#1", visibleRequestsCount)
|
|
.replace("#2", L10N.numberWithDecimals((totalBytes || 0) / 1024, 2))
|
|
.replace("#3", L10N.numberWithDecimals((totalMillis || 0) / 1000, 2))
|
|
, "The current summary text is incorrect.")
|
|
}
|
|
|
|
aDebuggee.performRequests('{ "getMedia": true, "getFlash": true }');
|
|
});
|
|
}
|