summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/browser_net_columns_pref.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_columns_pref.js')
-rw-r--r--devtools/client/netmonitor/test/browser_net_columns_pref.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_columns_pref.js b/devtools/client/netmonitor/test/browser_net_columns_pref.js
new file mode 100644
index 0000000000..4c64ac8f94
--- /dev/null
+++ b/devtools/client/netmonitor/test/browser_net_columns_pref.js
@@ -0,0 +1,59 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Tests if visible columns are properly saved. Note that the column
+ * header is visible only if there are requests in the list.
+ */
+
+add_task(async function () {
+ Services.prefs.setCharPref(
+ "devtools.netmonitor.visibleColumns",
+ '["status", "contentSize", "waterfall"]'
+ );
+
+ const { monitor } = await initNetMonitor(SIMPLE_URL, {
+ requestCount: 1,
+ });
+ info("Starting test... ");
+
+ const { document, store, windowRequire } = monitor.panelWin;
+ const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
+ store.dispatch(Actions.batchEnable(false));
+
+ const wait = waitForNetworkEvents(monitor, 1);
+ await reloadBrowser();
+ await wait;
+
+ ok(
+ document.querySelector("#requests-list-status-button"),
+ "Status column should be shown"
+ );
+ ok(
+ document.querySelector("#requests-list-contentSize-button"),
+ "Content size column should be shown"
+ );
+
+ await hideColumn(monitor, "status");
+ await hideColumn(monitor, "contentSize");
+
+ let visibleColumns = JSON.parse(
+ Services.prefs.getCharPref("devtools.netmonitor.visibleColumns")
+ );
+
+ ok(!visibleColumns.includes("status"), "Pref should be synced for status");
+ ok(
+ !visibleColumns.includes("contentSize"),
+ "Pref should be synced for contentSize"
+ );
+
+ await showColumn(monitor, "status");
+
+ visibleColumns = JSON.parse(
+ Services.prefs.getCharPref("devtools.netmonitor.visibleColumns")
+ );
+
+ ok(visibleColumns.includes("status"), "Pref should be synced for status");
+});