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);
 | 
						|
});
 |