mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
92 lines
2.7 KiB
JavaScript
92 lines
2.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
let contentWindow;
|
|
let pinnedTab;
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
registerCleanupFunction(function() {
|
|
while (gBrowser.tabs[1])
|
|
gBrowser.removeTab(gBrowser.tabs[1]);
|
|
hideTabView();
|
|
});
|
|
|
|
pinnedTab = gBrowser.addTab("about:blank");
|
|
gBrowser.pinTab(pinnedTab);
|
|
ok(pinnedTab.pinned, "Tab 1 is pinned");
|
|
|
|
gBrowser.addTab("about:mozilla");
|
|
showTabView(setup);
|
|
}
|
|
|
|
function setup() {
|
|
let prefix = "setup: ";
|
|
|
|
registerCleanupFunction(function() {
|
|
let groupItem = contentWindow.GroupItems.groupItem(groupItemTwoId);
|
|
if (groupItem)
|
|
closeGroupItem(groupItem);
|
|
});
|
|
|
|
contentWindow = TabView.getContentWindow();
|
|
let groupItemOne = contentWindow.GroupItems.groupItems[0];
|
|
|
|
is(contentWindow.GroupItems.groupItems.length, 1,
|
|
prefix + "There is only one group");
|
|
|
|
is(groupItemOne.getChildren().length, 2,
|
|
prefix + "The number of tabs in group one is 2");
|
|
|
|
// Create a second group with a dummy page.
|
|
let groupItemTwo =
|
|
createGroupItemWithTabs(window, 300, 300, 310, ["about:blank"]);
|
|
let groupItemTwoId = groupItemTwo.id;
|
|
|
|
// Add a new tab to the second group, from where we will execute the switch
|
|
// to tab.
|
|
groupItemTwo.newTab("about:blank");
|
|
|
|
is(contentWindow.GroupItems.getActiveGroupItem(), groupItemTwo,
|
|
prefix + "The group two is the active group");
|
|
|
|
is(contentWindow.UI.getActiveTab(), groupItemTwo.getChild(1),
|
|
prefix + "The second tab item in group two is active");
|
|
|
|
hideTabView(function () { switchToURL(groupItemOne, groupItemTwo) } );
|
|
}
|
|
|
|
|
|
function switchToURL(groupItemOne, groupItemTwo) {
|
|
let prefix = "after switching: ";
|
|
|
|
/**
|
|
* At this point, focus is on group two. Let's switch to a tab with an URL
|
|
* contained in group one and then go to the pinned tab after the
|
|
* switch. The selected group should be group one.
|
|
*/
|
|
// Set the urlbar to include the moz-action.
|
|
gURLBar.value = "moz-action:switchtab,about:mozilla";
|
|
// Focus the urlbar so we can press enter.
|
|
gURLBar.focus();
|
|
// Press enter.
|
|
EventUtils.synthesizeKey("VK_RETURN", {});
|
|
|
|
// Focus on the app tab.
|
|
EventUtils.synthesizeKey("1", { accelKey: true });
|
|
|
|
// Check group one is active after a "switch to tab" action was executed and
|
|
// the app tab receives focus.
|
|
is(contentWindow.GroupItems.getActiveGroupItem(), groupItemOne,
|
|
prefix + "The group one is the active group");
|
|
|
|
is(groupItemOne.getChildren().length, 2,
|
|
prefix + "The number of tabs in group one is 2");
|
|
|
|
is(groupItemTwo.getChildren().length, 1,
|
|
prefix + "The number of tabs in group two is 1");
|
|
|
|
gBrowser.removeTab(pinnedTab);
|
|
finish();
|
|
} |