test: Added test for multiselected tabs inside folders, b=no-bug, c=folders, tests

This commit is contained in:
Mr. M
2025-08-19 23:37:52 +02:00
parent 6b2f1edf0d
commit 30a322f481
3 changed files with 33 additions and 0 deletions

View File

@@ -320,6 +320,8 @@
let selectedGroupId = null;
let itemsAfterSelected = [];
gBrowser.clearMultiSelectedTabs();
const items = group.childGroupsAndTabs.map((item) => {
const isSplitView = item.group?.hasAttribute?.('split-view-group');
const splitGroupId = isSplitView ? item.group.id : null;

View File

@@ -14,5 +14,6 @@ support-files = [
["browser_folder_density.js"]
["browser_folder_max_subfolders.js"]
["browser_folder_empty_tab.js"]
["browser_folder_multiselected.js"]
["browser_folder_issue_9885.js"]

View File

@@ -0,0 +1,30 @@
/* Any copyright is dedicated to the Public Domain.
https://creativecommons.org/publicdomain/zero/1.0/ */
'use strict';
add_task(async function test_Folder_Multiselected_Tabs() {
const selectedTab = gBrowser.selectedTab;
const tab1 = BrowserTestUtils.addTab(gBrowser, 'about:blank');
const tab2 = BrowserTestUtils.addTab(gBrowser, 'about:blank');
const folder = await gZenFolders.createFolder([tab1], {});
gBrowser.addRangeToMultiSelectedTabs(tab1, tab2);
ok(tab1.multiselected, 'Tab 1 should be multiselected');
ok(tab2.multiselected, 'Tab 2 should be multiselected');
Assert.greater(gBrowser.multiSelectedTabsCount, 1, 'There should be 2 multiselected tabs');
const collapseEvent = BrowserTestUtils.waitForEvent(window, 'TabGroupCollapse');
folder.collapsed = true;
await collapseEvent;
ok(!tab2.multiselected, 'Tab 2 should not be multiselected');
Assert.greater(gBrowser.multiSelectedTabsCount, 0, 'There should be 1 multiselected tab');
for (const t of [tab1, tab2]) {
BrowserTestUtils.removeTab(t);
}
gBrowser.selectedTab = selectedTab;
await removeFolder(folder);
});