michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: /** michael@0: * Tests if focus modifiers work for the SideMenuWidget. michael@0: */ michael@0: michael@0: function test() { michael@0: initNetMonitor(CUSTOM_GET_URL).then(([aTab, aDebuggee, aMonitor]) => { michael@0: info("Starting test... "); michael@0: michael@0: // It seems that this test may be slow on Ubuntu builds running on ec2. michael@0: requestLongerTimeout(2); michael@0: michael@0: let { NetMonitorView } = aMonitor.panelWin; michael@0: let { RequestsMenu } = NetMonitorView; michael@0: michael@0: RequestsMenu.lazyUpdate = false; michael@0: michael@0: waitForNetworkEvents(aMonitor, 2).then(() => { michael@0: check(-1, false); michael@0: michael@0: RequestsMenu.focusLastVisibleItem(); michael@0: check(1, true); michael@0: RequestsMenu.focusFirstVisibleItem(); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusNextItem(); michael@0: check(1, true); michael@0: RequestsMenu.focusPrevItem(); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusItemAtDelta(+1); michael@0: check(1, true); michael@0: RequestsMenu.focusItemAtDelta(-1); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusItemAtDelta(+10); michael@0: check(1, true); michael@0: RequestsMenu.focusItemAtDelta(-10); michael@0: check(0, true); michael@0: michael@0: aDebuggee.performRequests(18); michael@0: return waitForNetworkEvents(aMonitor, 18); michael@0: }) michael@0: .then(() => { michael@0: RequestsMenu.focusLastVisibleItem(); michael@0: check(19, true); michael@0: RequestsMenu.focusFirstVisibleItem(); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusNextItem(); michael@0: check(1, true); michael@0: RequestsMenu.focusPrevItem(); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusItemAtDelta(+10); michael@0: check(10, true); michael@0: RequestsMenu.focusItemAtDelta(-10); michael@0: check(0, true); michael@0: michael@0: RequestsMenu.focusItemAtDelta(+100); michael@0: check(19, true); michael@0: RequestsMenu.focusItemAtDelta(-100); michael@0: check(0, true); michael@0: michael@0: teardown(aMonitor).then(finish); michael@0: }); michael@0: michael@0: let count = 0; michael@0: michael@0: function check(aSelectedIndex, aPaneVisibility) { michael@0: info("Performing check " + (count++) + "."); michael@0: michael@0: is(RequestsMenu.selectedIndex, aSelectedIndex, michael@0: "The selected item in the requests menu was incorrect."); michael@0: is(NetMonitorView.detailsPaneHidden, !aPaneVisibility, michael@0: "The network requests details pane visibility state was incorrect."); michael@0: } michael@0: michael@0: aDebuggee.performRequests(2); michael@0: }); michael@0: }