summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_bug563588.js
blob: 26c8fd1767713893e43a5312f3b251ea2e5681b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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();
}