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

70 lines
2.2 KiB
JavaScript
Raw Normal View History

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
let contentWindow;
let groupItem;
function test() {
waitForExplicitFinish();
let newTabOne = gBrowser.addTab();
let newTabTwo = gBrowser.addTab();
let newTabThree = gBrowser.addTab();
gBrowser.pinTab(newTabOne);
gBrowser.pinTab(newTabTwo);
gBrowser.pinTab(newTabThree);
registerCleanupFunction(function() {
TabView.hide();
while (gBrowser.tabs.length > 1)
gBrowser.removeTab(gBrowser.tabs[0]);
});
showTabView(function() {
contentWindow = document.getElementById("tab-view").contentWindow;
is(contentWindow.GroupItems.groupItems.length, 1, "Has only one group");
groupItem = contentWindow.GroupItems.groupItems[0];
is(xulTabForAppTabIcon(0), newTabOne,
"New tab one matches the first app tab icon in tabview");
is(xulTabForAppTabIcon(1), newTabTwo,
"New tab two matches the second app tab icon in tabview");
is(xulTabForAppTabIcon(2), newTabThree,
"New tab three matches the third app tab icon in tabview");
// move the last tab to the first position
gBrowser.moveTabTo(newTabThree, 0);
is(xulTabForAppTabIcon(0), newTabThree,
"New tab three matches the first app tab icon in tabview");
is(xulTabForAppTabIcon(1), newTabOne,
"New tab one matches the second app tab icon in tabview");
is(xulTabForAppTabIcon(2), newTabTwo,
"New tab two matches the third app tab icon in tabview");
// move the first tab to the second position
gBrowser.moveTabTo(newTabThree, 1);
is(xulTabForAppTabIcon(0), newTabOne,
"New tab one matches the first app tab icon in tabview");
is(xulTabForAppTabIcon(1), newTabThree,
"New tab three matches the second app tab icon in tabview");
is(xulTabForAppTabIcon(2), newTabTwo,
"New tab two matches the third app tab icon in tabview");
hideTabView(function() {
gBrowser.removeTab(newTabOne);
gBrowser.removeTab(newTabTwo);
gBrowser.removeTab(newTabThree);
finish();
});
});
}
function xulTabForAppTabIcon(index) {
return contentWindow.iQ(
contentWindow.iQ(".appTabIcon",
groupItem.$appTabTray)[index]).data("xulTab");
}