mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
73 lines
2.6 KiB
JavaScript
73 lines
2.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Tests if the statistics view is populated correctly.
|
|
*/
|
|
|
|
function test() {
|
|
initNetMonitor(STATISTICS_URL).then(([aTab, aDebuggee, aMonitor]) => {
|
|
info("Starting test... ");
|
|
|
|
let panel = aMonitor.panelWin;
|
|
let { document, $, $all, EVENTS, NetMonitorView } = panel;
|
|
|
|
is(NetMonitorView.currentFrontendMode, "network-inspector-view",
|
|
"The initial frontend mode is correct.");
|
|
|
|
is($("#primed-cache-chart").childNodes.length, 0,
|
|
"There should be no primed cache chart created yet.");
|
|
is($("#empty-cache-chart").childNodes.length, 0,
|
|
"There should be no empty cache chart created yet.");
|
|
|
|
waitFor(panel, EVENTS.PLACEHOLDER_CHARTS_DISPLAYED).then(() => {
|
|
is($("#primed-cache-chart").childNodes.length, 1,
|
|
"There should be a placeholder primed cache chart created now.");
|
|
is($("#empty-cache-chart").childNodes.length, 1,
|
|
"There should be a placeholder empty cache chart created now.");
|
|
|
|
is($all(".pie-chart-container[placeholder=true]").length, 2,
|
|
"Two placeholder pie chart appear to be rendered correctly.");
|
|
is($all(".table-chart-container[placeholder=true]").length, 2,
|
|
"Two placeholder table chart appear to be rendered correctly.");
|
|
|
|
promise.all([
|
|
waitFor(panel, EVENTS.PRIMED_CACHE_CHART_DISPLAYED),
|
|
waitFor(panel, EVENTS.EMPTY_CACHE_CHART_DISPLAYED)
|
|
]).then(() => {
|
|
is($("#primed-cache-chart").childNodes.length, 1,
|
|
"There should be a real primed cache chart created now.");
|
|
is($("#empty-cache-chart").childNodes.length, 1,
|
|
"There should be a real empty cache chart created now.");
|
|
|
|
Task.spawn(function*() {
|
|
yield until(() => $all(".pie-chart-container:not([placeholder=true])").length == 2);
|
|
ok(true, "Two real pie charts appear to be rendered correctly.");
|
|
|
|
yield until(() => $all(".table-chart-container:not([placeholder=true])").length == 2);
|
|
ok(true, "Two real table charts appear to be rendered correctly.")
|
|
|
|
teardown(aMonitor).then(finish);
|
|
});
|
|
});
|
|
});
|
|
|
|
NetMonitorView.toggleFrontendMode();
|
|
|
|
is(NetMonitorView.currentFrontendMode, "network-statistics-view",
|
|
"The current frontend mode is correct.");
|
|
});
|
|
}
|
|
|
|
function waitForTick() {
|
|
let deferred = promise.defer();
|
|
executeSoon(deferred.resolve);
|
|
return deferred.promise;
|
|
}
|
|
|
|
function until(predicate) {
|
|
return Task.spawn(function*() {
|
|
while (!predicate()) yield waitForTick();
|
|
});
|
|
}
|