summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/browser_net_accessibility-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/netmonitor/test/browser_net_accessibility-01.js')
-rw-r--r--devtools/client/netmonitor/test/browser_net_accessibility-01.js87
1 files changed, 87 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/browser_net_accessibility-01.js b/devtools/client/netmonitor/test/browser_net_accessibility-01.js
new file mode 100644
index 0000000000..58ac0c91fe
--- /dev/null
+++ b/devtools/client/netmonitor/test/browser_net_accessibility-01.js
@@ -0,0 +1,87 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Tests if focus modifiers work for the Side Menu.
+ */
+
+add_task(async function () {
+ const { tab, monitor } = await initNetMonitor(CUSTOM_GET_URL, {
+ requestCount: 1,
+ });
+ info("Starting test... ");
+
+ // It seems that this test may be slow on Ubuntu builds running on ec2.
+ requestLongerTimeout(2);
+
+ const { document, store, windowRequire } = monitor.panelWin;
+ const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
+
+ store.dispatch(Actions.batchEnable(false));
+
+ let count = 0;
+ function check(selectedIndex, panelVisibility) {
+ info("Performing check " + count++ + ".");
+
+ const requestItems = Array.from(
+ document.querySelectorAll(".request-list-item")
+ );
+ is(
+ requestItems.findIndex(item => item.matches(".selected")),
+ selectedIndex,
+ "The selected item in the requests menu was incorrect."
+ );
+ is(
+ !!document.querySelector(".network-details-bar"),
+ panelVisibility,
+ "The network details panel should render correctly."
+ );
+ }
+
+ // Execute requests.
+ await performRequests(monitor, tab, 2);
+
+ check(-1, false);
+
+ store.dispatch(Actions.selectDelta(+Infinity));
+ check(1, true);
+ store.dispatch(Actions.selectDelta(-Infinity));
+ check(0, true);
+
+ store.dispatch(Actions.selectDelta(+1));
+ check(1, true);
+ store.dispatch(Actions.selectDelta(-1));
+ check(0, true);
+
+ store.dispatch(Actions.selectDelta(+10));
+ check(1, true);
+ store.dispatch(Actions.selectDelta(-10));
+ check(0, true);
+
+ // Execute requests.
+ await performRequests(monitor, tab, 18);
+
+ store.dispatch(Actions.selectDelta(+Infinity));
+ check(19, true);
+ store.dispatch(Actions.selectDelta(-Infinity));
+ check(0, true);
+
+ store.dispatch(Actions.selectDelta(+1));
+ check(1, true);
+ store.dispatch(Actions.selectDelta(-1));
+ check(0, true);
+
+ store.dispatch(Actions.selectDelta(+10));
+ check(10, true);
+ store.dispatch(Actions.selectDelta(-10));
+ check(0, true);
+
+ store.dispatch(Actions.selectDelta(+100));
+ check(19, true);
+ store.dispatch(Actions.selectDelta(-100));
+ check(0, true);
+
+ return teardown(monitor);
+});