summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/browser_net_statistics-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_statistics-01.js')
-rw-r--r--devtools/client/netmonitor/test/browser_net_statistics-01.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_statistics-01.js b/devtools/client/netmonitor/test/browser_net_statistics-01.js
new file mode 100644
index 000000000..d7e75b997
--- /dev/null
+++ b/devtools/client/netmonitor/test/browser_net_statistics-01.js
@@ -0,0 +1,63 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Tests if the statistics view is populated correctly.
+ */
+
+add_task(function* () {
+ let { monitor } = yield initNetMonitor(STATISTICS_URL);
+ info("Starting test... ");
+
+ let panel = monitor.panelWin;
+ let { $, $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.");
+
+ let onChartDisplayed = Promise.all([
+ panel.once(EVENTS.PRIMED_CACHE_CHART_DISPLAYED),
+ panel.once(EVENTS.EMPTY_CACHE_CHART_DISPLAYED)
+ ]);
+ let onPlaceholderDisplayed = panel.once(EVENTS.PLACEHOLDER_CHARTS_DISPLAYED);
+
+ info("Displaying statistics view");
+ NetMonitorView.toggleFrontendMode();
+ is(NetMonitorView.currentFrontendMode, "network-statistics-view",
+ "The current frontend mode is correct.");
+
+ info("Waiting for placeholder to display");
+ yield onPlaceholderDisplayed;
+ 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.");
+
+ info("Waiting for chart to display");
+ yield onChartDisplayed;
+ 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.");
+
+ yield waitUntil(
+ () => $all(".pie-chart-container:not([placeholder=true])").length == 2);
+ ok(true, "Two real pie charts appear to be rendered correctly.");
+
+ yield waitUntil(
+ () => $all(".table-chart-container:not([placeholder=true])").length == 2);
+ ok(true, "Two real table charts appear to be rendered correctly.");
+
+ yield teardown(monitor);
+});