forked from mirrors/gecko-dev
		
	 0dbe3971c5
			
		
	
	
		0dbe3971c5
		
	
	
	
	
		
			
			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);
 | |
| });
 |