gecko/browser/base/content/test/tabview/browser_tabview_bug628887.js

51 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
function test() {
waitForExplicitFinish();
newWindowWithTabView(function(win) {
registerCleanupFunction(function() win.close());
let cw = win.TabView.getContentWindow();
let groupItemOne = cw.GroupItems.groupItems[0];
let groupItemTwo = createGroupItemWithBlankTabs(win, 100, 100, 40, 2);
ok(groupItemTwo.isStacked(), "groupItem is now stacked");
is(win.gBrowser.tabs.length, 3, "There are three tabs");
// the focus should remain within the group after it's expanded
groupItemTwo.addSubscriber("expanded", function onExpanded() {
groupItemTwo.removeSubscriber("expanded", onExpanded);
ok(groupItemTwo.expanded, "groupItemTwo is expanded");
is(cw.UI.getActiveTab(), groupItemTwo.getChild(0),
"The first tab item in group item two is active in expanded mode");
EventUtils.synthesizeKey("VK_DOWN", {}, cw);
is(cw.UI.getActiveTab(), groupItemTwo.getChild(0),
"The first tab item is still active after pressing down key");
// the focus should goes to other group if the down arrow is pressed
groupItemTwo.addSubscriber("collapsed", function onExpanded() {
groupItemTwo.removeSubscriber("collapsed", onExpanded);
ok(!groupItemTwo.expanded, "groupItemTwo is not expanded");
is(cw.UI.getActiveTab(), groupItemTwo.getChild(0),
"The first tab item is active in group item two in collapsed mode");
EventUtils.synthesizeKey("VK_DOWN", {}, cw);
is(cw.UI.getActiveTab(), groupItemOne.getChild(0),
"The first tab item in group item one is active after pressing down key");
finish();
});
groupItemTwo.collapse();
});
groupItemTwo.expand();
});
}