Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"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");
});