fune/devtools/client/netmonitor/test/browser_net_pane-collapse.js

50 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Tests if the network monitor panes collapse properly.
*/
add_task(function* () {
let { tab, monitor } = yield initNetMonitor(SIMPLE_URL);
info("Starting test... ");
let { document, Prefs } = monitor.panelWin;
let detailsPaneToggleButton = document.querySelector(".network-details-panel-toggle");
let wait = waitForNetworkEvents(monitor, 1);
tab.linkedBrowser.reload();
yield wait;
ok(!document.querySelector(".network-details-panel") &&
detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should initially be hidden.");
EventUtils.sendMouseEvent({ type: "mousedown" }, detailsPaneToggleButton);
is(~~(document.querySelector(".network-details-panel").clientWidth),
Prefs.networkDetailsWidth,
"The details panel has an incorrect width.");
ok(document.querySelector(".network-details-panel") &&
!detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should at this point be visible.");
EventUtils.sendMouseEvent({ type: "mousedown" }, detailsPaneToggleButton);
ok(!document.querySelector(".network-details-panel") &&
detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should not be visible after collapsing.");
EventUtils.sendMouseEvent({ type: "mousedown" }, detailsPaneToggleButton);
is(~~(document.querySelector(".network-details-panel").clientWidth),
Prefs.networkDetailsWidth,
"The details panel has an incorrect width after uncollapsing.");
ok(document.querySelector(".network-details-panel") &&
!detailsPaneToggleButton.classList.contains("pane-collapsed"),
"The details panel should be visible again after uncollapsing.");
yield teardown(monitor);
});