fune/browser/base/content/test/general/browser_bug563588.js
Jared Wein d783e3ca71 Bug 1476852 - Implement keyboard selection for multiselect tabs. r=Gijs,Jamie
To use this (Windows/Linux instructions), press Ctrl+L to give focus to the location bar. Shift+Tab to move focus backwards to the tab.
Ctrl+Left/Ctrl+Right to change which tab is focused
Ctrl+Space to add/remove a tab from the multiselection
Moving a tab has been changed from Ctrl+Left/Ctrl+Right to Ctrl+Shift+Left/Ctrl+Shift+Right, respectively.

Differential Revision: https://phabricator.services.mozilla.com/D4670

--HG--
extra : moz-landing-system : lando
2018-09-24 20:36:59 +00:00

30 lines
1 KiB
JavaScript

function press(key, expectedPos) {
var originalSelectedTab = gBrowser.selectedTab;
EventUtils.synthesizeKey("VK_" + key.toUpperCase(), { accelKey: true, shiftKey: true });
is(gBrowser.selectedTab, originalSelectedTab,
"shift+accel+" + key + " doesn't change which tab is selected");
is(gBrowser.tabContainer.selectedIndex, expectedPos,
"shift+accel+" + key + " moves the tab to the expected position");
is(document.activeElement, gBrowser.selectedTab,
"shift+accel+" + key + " leaves the selected tab focused");
}
function test() {
BrowserTestUtils.addTab(gBrowser);
BrowserTestUtils.addTab(gBrowser);
is(gBrowser.tabs.length, 3, "got three tabs");
is(gBrowser.tabs[0], gBrowser.selectedTab, "first tab is selected");
gBrowser.selectedTab.focus();
is(document.activeElement, gBrowser.selectedTab, "selected tab is focused");
press("right", 1);
press("down", 2);
press("left", 1);
press("up", 0);
press("end", 2);
press("home", 0);
gBrowser.removeCurrentTab();
gBrowser.removeCurrentTab();
}