diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /browser/base/content/test/tabs/browser_tabReorder.js | |
parent | Initial commit. (diff) | |
download | thunderbird-upstream.tar.xz thunderbird-upstream.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/base/content/test/tabs/browser_tabReorder.js')
-rw-r--r-- | browser/base/content/test/tabs/browser_tabReorder.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/browser/base/content/test/tabs/browser_tabReorder.js b/browser/base/content/test/tabs/browser_tabReorder.js new file mode 100644 index 0000000000..c5ae459065 --- /dev/null +++ b/browser/base/content/test/tabs/browser_tabReorder.js @@ -0,0 +1,64 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +add_task(async function () { + let initialTabsLength = gBrowser.tabs.length; + + let newTab1 = (gBrowser.selectedTab = BrowserTestUtils.addTab( + gBrowser, + "about:robots", + { skipAnimation: true } + )); + let newTab2 = (gBrowser.selectedTab = BrowserTestUtils.addTab( + gBrowser, + "about:about", + { skipAnimation: true } + )); + let newTab3 = (gBrowser.selectedTab = BrowserTestUtils.addTab( + gBrowser, + "about:config", + { skipAnimation: true } + )); + registerCleanupFunction(function () { + while (gBrowser.tabs.length > initialTabsLength) { + gBrowser.removeTab(gBrowser.tabs[initialTabsLength]); + } + }); + + is(gBrowser.tabs.length, initialTabsLength + 3, "new tabs are opened"); + is(gBrowser.tabs[initialTabsLength], newTab1, "newTab1 position is correct"); + is( + gBrowser.tabs[initialTabsLength + 1], + newTab2, + "newTab2 position is correct" + ); + is( + gBrowser.tabs[initialTabsLength + 2], + newTab3, + "newTab3 position is correct" + ); + + await dragAndDrop(newTab1, newTab2, false); + is(gBrowser.tabs.length, initialTabsLength + 3, "tabs are still there"); + is( + gBrowser.tabs[initialTabsLength], + newTab2, + "newTab2 and newTab1 are swapped" + ); + is( + gBrowser.tabs[initialTabsLength + 1], + newTab1, + "newTab1 and newTab2 are swapped" + ); + is(gBrowser.tabs[initialTabsLength + 2], newTab3, "newTab3 stays same place"); + + await dragAndDrop(newTab2, newTab1, true); + is(gBrowser.tabs.length, initialTabsLength + 4, "a tab is duplicated"); + is(gBrowser.tabs[initialTabsLength], newTab2, "newTab2 stays same place"); + is(gBrowser.tabs[initialTabsLength + 1], newTab1, "newTab1 stays same place"); + is( + gBrowser.tabs[initialTabsLength + 3], + newTab3, + "a new tab is inserted before newTab3" + ); +}); |