75 lines
3.1 KiB
JavaScript
75 lines
3.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Tests if toggling the details pane works as expected.
|
|
*/
|
|
|
|
add_task(function* () {
|
|
let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
|
|
info("Starting test... ");
|
|
|
|
let { $, NetMonitorView } = monitor.panelWin;
|
|
let { RequestsMenu } = NetMonitorView;
|
|
let { NETWORK_EVENT, TAB_UPDATED } = monitor.panelWin.EVENTS;
|
|
RequestsMenu.lazyUpdate = false;
|
|
|
|
let toggleButton = $("#details-pane-toggle");
|
|
|
|
is(toggleButton.hasAttribute("disabled"), true,
|
|
"The pane toggle button should be disabled when the frontend is opened.");
|
|
is(toggleButton.classList.contains("pane-collapsed"), true,
|
|
"The pane toggle button should indicate that the details pane is " +
|
|
"collapsed when the frontend is opened.");
|
|
is(NetMonitorView.detailsPaneHidden, true,
|
|
"The details pane should be hidden when the frontend is opened.");
|
|
is(RequestsMenu.selectedItem, null,
|
|
"There should be no selected item in the requests menu.");
|
|
|
|
let networkEvent = monitor.panelWin.once(NETWORK_EVENT);
|
|
tab.linkedBrowser.reload();
|
|
yield networkEvent;
|
|
|
|
is(toggleButton.hasAttribute("disabled"), false,
|
|
"The pane toggle button should be enabled after the first request.");
|
|
is(toggleButton.classList.contains("pane-collapsed"), true,
|
|
"The pane toggle button should still indicate that the details pane is " +
|
|
"collapsed after the first request.");
|
|
is(NetMonitorView.detailsPaneHidden, true,
|
|
"The details pane should still be hidden after the first request.");
|
|
is(RequestsMenu.selectedItem, null,
|
|
"There should still be no selected item in the requests menu.");
|
|
|
|
EventUtils.sendMouseEvent({ type: "mousedown" }, toggleButton);
|
|
|
|
yield monitor.panelWin.once(TAB_UPDATED);
|
|
|
|
is(toggleButton.hasAttribute("disabled"), false,
|
|
"The pane toggle button should still be enabled after being pressed.");
|
|
is(toggleButton.classList.contains("pane-collapsed"), false,
|
|
"The pane toggle button should now indicate that the details pane is " +
|
|
"not collapsed anymore after being pressed.");
|
|
is(NetMonitorView.detailsPaneHidden, false,
|
|
"The details pane should not be hidden after toggle button was pressed.");
|
|
isnot(RequestsMenu.selectedItem, null,
|
|
"There should be a selected item in the requests menu.");
|
|
is(RequestsMenu.selectedIndex, 0,
|
|
"The first item should be selected in the requests menu.");
|
|
|
|
EventUtils.sendMouseEvent({ type: "mousedown" }, toggleButton);
|
|
|
|
is(toggleButton.hasAttribute("disabled"), false,
|
|
"The pane toggle button should still be enabled after being pressed again.");
|
|
is(toggleButton.classList.contains("pane-collapsed"), true,
|
|
"The pane toggle button should now indicate that the details pane is " +
|
|
"collapsed after being pressed again.");
|
|
is(NetMonitorView.detailsPaneHidden, true,
|
|
"The details pane should now be hidden after the toggle button was pressed again.");
|
|
is(RequestsMenu.selectedItem, null,
|
|
"There should now be no selected item in the requests menu.");
|
|
|
|
yield teardown(monitor);
|
|
});
|