michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: function test() { michael@0: let numChildren = 7; michael@0: michael@0: let assertTopOfStack = function (tabItem) { michael@0: ok(!tabItem.getHidden(), "tabItem is visible"); michael@0: is(tabItem.zIndex, tabItem.parent.getZ() + numChildren + 1, "zIndex"); michael@0: } michael@0: michael@0: let testTopOfStack = function (tabItem, callback) { michael@0: hideTabView(function () { michael@0: gBrowser.selectedTab = tabItem.tab; michael@0: michael@0: showTabView(function () { michael@0: assertTopOfStack(tabItem); michael@0: callback(); michael@0: }); michael@0: }); michael@0: } michael@0: michael@0: let finishTest = function () { michael@0: registerCleanupFunction(function () { michael@0: is(1, gBrowser.tabs.length, "there is one tab, only"); michael@0: ok(!TabView.isVisible(), "tabview is not visible"); michael@0: }); michael@0: michael@0: finish(); michael@0: } michael@0: michael@0: waitForExplicitFinish(); michael@0: michael@0: showTabView(function () { michael@0: let groupItem = createGroupItemWithBlankTabs(window, 150, 150, 10, numChildren); michael@0: michael@0: registerCleanupFunction(function () { michael@0: closeGroupItem(groupItem, function () TabView.hide()); michael@0: }); michael@0: michael@0: testTopOfStack(groupItem.getChild(1), function () { michael@0: testTopOfStack(groupItem.getChild(6), function () { michael@0: closeGroupItem(groupItem, function () { michael@0: hideTabView(finishTest); michael@0: }); michael@0: }); michael@0: }); michael@0: }); michael@0: }