From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- ...rowser_multiselect_tabs_using_Shift_and_Ctrl.js | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 browser/base/content/test/tabs/browser_multiselect_tabs_using_Shift_and_Ctrl.js (limited to 'browser/base/content/test/tabs/browser_multiselect_tabs_using_Shift_and_Ctrl.js') diff --git a/browser/base/content/test/tabs/browser_multiselect_tabs_using_Shift_and_Ctrl.js b/browser/base/content/test/tabs/browser_multiselect_tabs_using_Shift_and_Ctrl.js new file mode 100644 index 0000000000..9e26a5562e --- /dev/null +++ b/browser/base/content/test/tabs/browser_multiselect_tabs_using_Shift_and_Ctrl.js @@ -0,0 +1,75 @@ +add_task(async function selectionWithShiftPreviously() { + const tab1 = await addTab(); + const tab2 = await addTab(); + const tab3 = await addTab(); + const tab4 = await addTab(); + const tab5 = await addTab(); + + await BrowserTestUtils.switchTab(gBrowser, tab3); + + is(gBrowser.multiSelectedTabsCount, 0, "No tab is multi-selected"); + + info("Click on tab5 with Shift down"); + await triggerClickOn(tab5, { shiftKey: true }); + + is(gBrowser.selectedTab, tab3, "Tab3 has focus"); + ok(!tab1.multiselected, "Tab1 is not multi-selected"); + ok(!tab2.multiselected, "Tab2 is not multi-selected "); + ok(tab3.multiselected, "Tab3 is multi-selected"); + ok(tab4.multiselected, "Tab4 is multi-selected"); + ok(tab5.multiselected, "Tab5 is multi-selected"); + is(gBrowser.multiSelectedTabsCount, 3, "Three tabs are multi-selected"); + + info("Click on tab1 with both Ctrl/Cmd and Shift down"); + await triggerClickOn(tab1, { ctrlKey: true, shiftKey: true }); + + is(gBrowser.selectedTab, tab3, "Tab3 has focus"); + ok(tab1.multiselected, "Tab1 is multi-selected"); + ok(tab2.multiselected, "Tab2 is multi-selected "); + ok(tab3.multiselected, "Tab3 is multi-selected"); + ok(tab4.multiselected, "Tab4 is multi-selected"); + ok(tab5.multiselected, "Tab5 is multi-selected"); + is(gBrowser.multiSelectedTabsCount, 5, "Five tabs are multi-selected"); + + for (let tab of [tab1, tab2, tab3, tab4, tab5]) { + BrowserTestUtils.removeTab(tab); + } +}); + +add_task(async function selectionWithCtrlPreviously() { + const tab1 = await addTab(); + const tab2 = await addTab(); + const tab3 = await addTab(); + const tab4 = await addTab(); + const tab5 = await addTab(); + + await BrowserTestUtils.switchTab(gBrowser, tab1); + + is(gBrowser.multiSelectedTabsCount, 0, "No tab is multi-selected"); + + info("Click on tab3 with Ctrl key down"); + await triggerClickOn(tab3, { ctrlKey: true }); + + is(gBrowser.selectedTab, tab1, "Tab1 has focus"); + ok(tab1.multiselected, "Tab1 is multi-selected"); + ok(!tab2.multiselected, "Tab2 is not multi-selected "); + ok(tab3.multiselected, "Tab3 is multi-selected"); + ok(!tab4.multiselected, "Tab4 is not multi-selected"); + ok(!tab5.multiselected, "Tab5 is not multi-selected"); + is(gBrowser.multiSelectedTabsCount, 2, "Two tabs are multi-selected"); + + info("Click on tab5 with both Ctrl/Cmd and Shift down"); + await triggerClickOn(tab5, { ctrlKey: true, shiftKey: true }); + + is(gBrowser.selectedTab, tab1, "Tab3 has focus"); + ok(tab1.multiselected, "Tab1 is multi-selected"); + ok(!tab2.multiselected, "Tab2 is not multi-selected "); + ok(tab3.multiselected, "Tab3 is multi-selected"); + ok(tab4.multiselected, "Tab4 is multi-selected"); + ok(tab5.multiselected, "Tab5 is multi-selected"); + is(gBrowser.multiSelectedTabsCount, 4, "Four tabs are multi-selected"); + + for (let tab of [tab1, tab2, tab3, tab4, tab5]) { + BrowserTestUtils.removeTab(tab); + } +}); -- cgit v1.2.3