From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../tabs/browser_multiselect_tabs_using_Ctrl.js | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 browser/base/content/test/tabs/browser_multiselect_tabs_using_Ctrl.js (limited to 'browser/base/content/test/tabs/browser_multiselect_tabs_using_Ctrl.js') diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_using_Ctrl.js b/browser/base/content/test/tabs/browser_multiselect_tabs_using_Ctrl.js new file mode 100644 index 0000000000..93a14a87a7 --- /dev/null +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_using_Ctrl.js @@ -0,0 +1,60 @@ +add_task(async function click() { + const initialFocusedTab = await addTab(); + await BrowserTestUtils.switchTab(gBrowser, initialFocusedTab); + const tab = await addTab(); + + await triggerClickOn(tab, { ctrlKey: true }); + ok( + tab.multiselected && gBrowser._multiSelectedTabsSet.has(tab), + "Tab should be (multi) selected after click" + ); + isnot(gBrowser.selectedTab, tab, "Multi-selected tab is not focused"); + is(gBrowser.selectedTab, initialFocusedTab, "Focused tab doesn't change"); + + await triggerClickOn(tab, { ctrlKey: true }); + ok( + !tab.multiselected && !gBrowser._multiSelectedTabsSet.has(tab), + "Tab is not (multi) selected anymore" + ); + is( + gBrowser.selectedTab, + initialFocusedTab, + "Focused tab still doesn't change" + ); + + BrowserTestUtils.removeTab(initialFocusedTab); + BrowserTestUtils.removeTab(tab); +}); + +add_task(async function clearSelection() { + const tab1 = await addTab(); + const tab2 = await addTab(); + const tab3 = await addTab(); + + await BrowserTestUtils.switchTab(gBrowser, tab1); + info("We multi-select tab2 with ctrl key down"); + await triggerClickOn(tab2, { ctrlKey: true }); + + ok( + tab1.multiselected && gBrowser._multiSelectedTabsSet.has(tab1), + "Tab1 is (multi) selected" + ); + ok( + tab2.multiselected && gBrowser._multiSelectedTabsSet.has(tab2), + "Tab2 is (multi) selected" + ); + is(gBrowser.multiSelectedTabsCount, 2, "Two tabs (multi) selected"); + isnot(tab3, gBrowser.selectedTab, "Tab3 doesn't have focus"); + + info("We select tab3 with Ctrl key up"); + await triggerClickOn(tab3, { ctrlKey: false }); + + ok(!tab1.multiselected, "Tab1 is not (multi) selected"); + ok(!tab2.multiselected, "Tab2 is not (multi) selected"); + is(gBrowser.multiSelectedTabsCount, 0, "Multi-selection is cleared"); + is(tab3, gBrowser.selectedTab, "Tab3 has focus"); + + BrowserTestUtils.removeTab(tab1); + BrowserTestUtils.removeTab(tab2); + BrowserTestUtils.removeTab(tab3); +}); -- cgit v1.2.3