diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /browser/components/customizableui/test/browser_customizemode_dragspace.js | |
parent | Initial commit. (diff) | |
download | firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/customizableui/test/browser_customizemode_dragspace.js')
-rw-r--r-- | browser/components/customizableui/test/browser_customizemode_dragspace.js | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_customizemode_dragspace.js b/browser/components/customizableui/test/browser_customizemode_dragspace.js new file mode 100644 index 0000000000..1dab9914d1 --- /dev/null +++ b/browser/components/customizableui/test/browser_customizemode_dragspace.js @@ -0,0 +1,137 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const PREF_DRAG_SPACE = "browser.tabs.extraDragSpace"; + +add_task(async function setup() { + await startCustomizing(); +}); + +add_task(async function test_dragspace_checkbox() { + let win = document.getElementById("main-window"); + let checkbox = document.getElementById( + "customization-extra-drag-space-checkbox" + ); + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + false, + "Drag space is disabled initially." + ); + ok(!checkbox.checked, "Checkbox state reflects disabled drag space."); + + let dragSpaceEnabled = BrowserTestUtils.waitForAttribute( + "extradragspace", + win, + "true" + ); + EventUtils.synthesizeMouseAtCenter(checkbox, {}); + await dragSpaceEnabled; + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + true, + "Drag space is enabled." + ); + + EventUtils.synthesizeMouseAtCenter(checkbox, {}); + await BrowserTestUtils.waitForCondition( + () => !win.hasAttribute("extradragspace") + ); + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + false, + "Drag space is disabled." + ); +}); + +add_task(async function test_dragspace_checkbox_disable() { + let dragSpaceCheckbox = document.getElementById( + "customization-extra-drag-space-checkbox" + ); + let titleBarCheckbox = document.getElementById( + "customization-titlebar-visibility-checkbox" + ); + + ok(!titleBarCheckbox.checked, "Title bar is disabled initially."); + ok( + !dragSpaceCheckbox.hasAttribute("disabled"), + "Drag space checkbox is enabled initially." + ); + + let checkboxDisabled = BrowserTestUtils.waitForAttribute( + "disabled", + dragSpaceCheckbox, + "true" + ); + EventUtils.synthesizeMouseAtCenter(titleBarCheckbox, {}); + await checkboxDisabled; + info("Checkbox was disabled!"); + + EventUtils.synthesizeMouseAtCenter(titleBarCheckbox, {}); + await BrowserTestUtils.waitForCondition( + () => !dragSpaceCheckbox.hasAttribute("disabled") + ); + info("Checkbox was enabled!"); +}); + +add_task(async function test_dragspace_reset() { + let win = document.getElementById("main-window"); + let checkbox = document.getElementById( + "customization-extra-drag-space-checkbox" + ); + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + false, + "Drag space is disabled initially." + ); + ok(!checkbox.checked, "Checkbox state reflects disabled drag space."); + + // Enable dragspace manually. + let dragSpaceEnabled = BrowserTestUtils.waitForAttribute( + "extradragspace", + win, + "true" + ); + EventUtils.synthesizeMouseAtCenter(checkbox, {}); + await dragSpaceEnabled; + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + true, + "Drag space is enabled." + ); + + // Disable dragspace through reset. + await gCustomizeMode.reset(); + await BrowserTestUtils.waitForCondition( + () => !win.hasAttribute("extradragspace") + ); + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + false, + "Drag space is disabled." + ); + + // Undo reset and check that dragspace is enabled again. + dragSpaceEnabled = BrowserTestUtils.waitForAttribute( + "extradragspace", + win, + "true" + ); + await gCustomizeMode.undoReset(); + await dragSpaceEnabled; + is( + Services.prefs.getBoolPref(PREF_DRAG_SPACE), + true, + "Drag space is enabled." + ); + + Services.prefs.clearUserPref(PREF_DRAG_SPACE); +}); + +add_task(async function cleanup() { + await endCustomizing(); + + Services.prefs.clearUserPref(PREF_DRAG_SPACE); +}); |