forked from mirrors/gecko-dev
MozReview-Commit-ID: AiqY1J5WwYo --HG-- extra : rebase_source : 4fb5cea18653a05f17c80595b48c8f3aae9b0d2a
76 lines
3.3 KiB
JavaScript
76 lines
3.3 KiB
JavaScript
/* 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);
|
|
});
|