diff options
Diffstat (limited to 'browser/base/content/test/general/browser_bug585558.js')
-rw-r--r-- | browser/base/content/test/general/browser_bug585558.js | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/browser/base/content/test/general/browser_bug585558.js b/browser/base/content/test/general/browser_bug585558.js deleted file mode 100644 index bae832b4d..000000000 --- a/browser/base/content/test/general/browser_bug585558.js +++ /dev/null @@ -1,153 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -var tabs = []; - -function addTab(aURL) { - tabs.push(gBrowser.addTab(aURL, {skipAnimation: true})); -} - -function testAttrib(elem, attrib, attribValue, msg) { - is(elem.hasAttribute(attrib), attribValue, msg); -} - -function test() { - waitForExplicitFinish(); - - is(gBrowser.tabs.length, 1, "one tab is open initially"); - - // Add several new tabs in sequence, hiding some, to ensure that the - // correct attributes get set - - addTab("http://mochi.test:8888/#0"); - addTab("http://mochi.test:8888/#1"); - addTab("http://mochi.test:8888/#2"); - addTab("http://mochi.test:8888/#3"); - - gBrowser.selectedTab = gBrowser.tabs[0]; - testAttrib(gBrowser.tabs[0], "first-visible-tab", true, - "First tab marked first-visible-tab!"); - testAttrib(gBrowser.tabs[4], "last-visible-tab", true, - "Fifth tab marked last-visible-tab!"); - testAttrib(gBrowser.tabs[0], "selected", true, "First tab marked selected!"); - testAttrib(gBrowser.tabs[0], "afterselected-visible", false, - "First tab not marked afterselected-visible!"); - testAttrib(gBrowser.tabs[1], "afterselected-visible", true, - "Second tab marked afterselected-visible!"); - gBrowser.hideTab(gBrowser.tabs[1]); - executeSoon(test_hideSecond); -} - -function test_hideSecond() { - testAttrib(gBrowser.tabs[2], "afterselected-visible", true, - "Third tab marked afterselected-visible!"); - gBrowser.showTab(gBrowser.tabs[1]) - executeSoon(test_showSecond); -} - -function test_showSecond() { - testAttrib(gBrowser.tabs[1], "afterselected-visible", true, - "Second tab marked afterselected-visible!"); - testAttrib(gBrowser.tabs[2], "afterselected-visible", false, - "Third tab not marked as afterselected-visible!"); - gBrowser.selectedTab = gBrowser.tabs[1]; - gBrowser.hideTab(gBrowser.tabs[0]); - executeSoon(test_hideFirst); -} - -function test_hideFirst() { - testAttrib(gBrowser.tabs[0], "first-visible-tab", false, - "Hidden first tab not marked first-visible-tab!"); - testAttrib(gBrowser.tabs[1], "first-visible-tab", true, - "Second tab marked first-visible-tab!"); - gBrowser.showTab(gBrowser.tabs[0]); - executeSoon(test_showFirst); -} - -function test_showFirst() { - testAttrib(gBrowser.tabs[0], "first-visible-tab", true, - "First tab marked first-visible-tab!"); - gBrowser.selectedTab = gBrowser.tabs[2]; - testAttrib(gBrowser.tabs[3], "afterselected-visible", true, - "Fourth tab marked afterselected-visible!"); - - gBrowser.moveTabTo(gBrowser.selectedTab, 1); - executeSoon(test_movedLower); -} - -function test_movedLower() { - testAttrib(gBrowser.tabs[2], "afterselected-visible", true, - "Third tab marked afterselected-visible!"); - test_hoverOne(); -} - -function test_hoverOne() { - EventUtils.synthesizeMouseAtCenter(gBrowser.tabs[4], { type: "mousemove" }); - testAttrib(gBrowser.tabs[3], "beforehovered", true, "Fourth tab marked beforehovered"); - EventUtils.synthesizeMouseAtCenter(gBrowser.tabs[3], { type: "mousemove" }); - testAttrib(gBrowser.tabs[2], "beforehovered", true, "Third tab marked beforehovered!"); - testAttrib(gBrowser.tabs[2], "afterhovered", false, "Third tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[4], "afterhovered", true, "Fifth tab marked afterhovered!"); - testAttrib(gBrowser.tabs[4], "beforehovered", false, "Fifth tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[0], "beforehovered", false, "First tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[0], "afterhovered", false, "First tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[1], "beforehovered", false, "Second tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[1], "afterhovered", false, "Second tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[3], "beforehovered", false, "Fourth tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[3], "afterhovered", false, "Fourth tab not marked afterhovered!"); - gBrowser.removeTab(tabs.pop()); - executeSoon(test_hoverStatePersistence); -} - -function test_hoverStatePersistence() { - // Test that the afterhovered and beforehovered attributes are still there when - // a tab is selected and then unselected again. See bug 856107. - - function assertState() { - testAttrib(gBrowser.tabs[0], "beforehovered", true, "First tab still marked beforehovered!"); - testAttrib(gBrowser.tabs[0], "afterhovered", false, "First tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[2], "afterhovered", true, "Third tab still marked afterhovered!"); - testAttrib(gBrowser.tabs[2], "beforehovered", false, "Third tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[1], "beforehovered", false, "Second tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[1], "afterhovered", false, "Second tab not marked afterhovered!"); - testAttrib(gBrowser.tabs[3], "beforehovered", false, "Fourth tab not marked beforehovered!"); - testAttrib(gBrowser.tabs[3], "afterhovered", false, "Fourth tab not marked afterhovered!"); - } - - gBrowser.selectedTab = gBrowser.tabs[3]; - EventUtils.synthesizeMouseAtCenter(gBrowser.tabs[1], { type: "mousemove" }); - assertState(); - gBrowser.selectedTab = gBrowser.tabs[1]; - assertState(); - gBrowser.selectedTab = gBrowser.tabs[3]; - assertState(); - executeSoon(test_pinning); -} - -function test_pinning() { - gBrowser.selectedTab = gBrowser.tabs[3]; - testAttrib(gBrowser.tabs[3], "last-visible-tab", true, - "Fourth tab marked last-visible-tab!"); - testAttrib(gBrowser.tabs[3], "selected", true, "Fourth tab marked selected!"); - testAttrib(gBrowser.tabs[3], "afterselected-visible", false, - "Fourth tab not marked afterselected-visible!"); - // Causes gBrowser.tabs to change indices - gBrowser.pinTab(gBrowser.tabs[3]); - testAttrib(gBrowser.tabs[3], "last-visible-tab", true, - "Fourth tab marked last-visible-tab!"); - testAttrib(gBrowser.tabs[1], "afterselected-visible", true, - "Second tab marked afterselected-visible!"); - testAttrib(gBrowser.tabs[0], "first-visible-tab", true, - "First tab marked first-visible-tab!"); - testAttrib(gBrowser.tabs[0], "selected", true, "First tab marked selected!"); - gBrowser.selectedTab = gBrowser.tabs[1]; - testAttrib(gBrowser.tabs[2], "afterselected-visible", true, - "Third tab marked afterselected-visible!"); - test_cleanUp(); -} - -function test_cleanUp() { - tabs.forEach(gBrowser.removeTab, gBrowser); - finish(); -} |