michael@0: function test() { michael@0: var tab1 = gBrowser.selectedTab; michael@0: var tab2 = gBrowser.addTab(); michael@0: var childTab1; michael@0: var childTab2; michael@0: michael@0: childTab1 = gBrowser.addTab("about:blank", { relatedToCurrent: true }); michael@0: gBrowser.selectedTab = childTab1; michael@0: gBrowser.removeCurrentTab(); michael@0: is(idx(gBrowser.selectedTab), idx(tab1), michael@0: "closing a tab next to its parent selects the parent"); michael@0: michael@0: childTab1 = gBrowser.addTab("about:blank", { relatedToCurrent: true }); michael@0: gBrowser.selectedTab = tab2; michael@0: gBrowser.selectedTab = childTab1; michael@0: gBrowser.removeCurrentTab(); michael@0: is(idx(gBrowser.selectedTab), idx(tab2), michael@0: "closing a tab next to its parent doesn't select the parent if another tab had been selected ad interim"); michael@0: michael@0: gBrowser.selectedTab = tab1; michael@0: childTab1 = gBrowser.addTab("about:blank", { relatedToCurrent: true }); michael@0: childTab2 = gBrowser.addTab("about:blank", { relatedToCurrent: true }); michael@0: gBrowser.selectedTab = childTab1; michael@0: gBrowser.removeCurrentTab(); michael@0: is(idx(gBrowser.selectedTab), idx(childTab2), michael@0: "closing a tab next to its parent selects the next tab with the same parent"); michael@0: gBrowser.removeCurrentTab(); michael@0: is(idx(gBrowser.selectedTab), idx(tab2), michael@0: "closing the last tab in a set of child tabs doesn't go back to the parent"); michael@0: michael@0: gBrowser.removeTab(tab2); michael@0: } michael@0: michael@0: function idx(tab) { michael@0: return Array.indexOf(gBrowser.tabs, tab); michael@0: }