forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			121 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
	
		
			5.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";
 | 
						|
 | 
						|
requestLongerTimeout(2);
 | 
						|
 | 
						|
var bookmarksToolbar = document.getElementById("PersonalToolbar");
 | 
						|
var navbar = document.getElementById("nav-bar");
 | 
						|
var tabsToolbar = document.getElementById("TabsToolbar");
 | 
						|
 | 
						|
// Customization reset should restore visibility to default-visible toolbars.
 | 
						|
add_task(async function() {
 | 
						|
  is(navbar.collapsed, false, "Test should start with navbar visible");
 | 
						|
  setToolbarVisibility(navbar, false);
 | 
						|
  is(navbar.collapsed, true, "navbar should be hidden now");
 | 
						|
 | 
						|
  await resetCustomization();
 | 
						|
 | 
						|
  is(navbar.collapsed, false, "Customization reset should restore visibility to the navbar");
 | 
						|
});
 | 
						|
 | 
						|
// Customization reset should restore collapsed-state to default-collapsed toolbars.
 | 
						|
add_task(async function() {
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be in its default state");
 | 
						|
 | 
						|
  is(bookmarksToolbar.collapsed, true, "Test should start with bookmarks toolbar collapsed");
 | 
						|
  ok(bookmarksToolbar.collapsed, "bookmarksToolbar should be collapsed");
 | 
						|
  ok(!tabsToolbar.collapsed, "TabsToolbar should not be collapsed");
 | 
						|
  is(navbar.collapsed, false, "The nav-bar should be shown by default");
 | 
						|
 | 
						|
  setToolbarVisibility(bookmarksToolbar, true);
 | 
						|
  setToolbarVisibility(navbar, false);
 | 
						|
  ok(!bookmarksToolbar.collapsed, "bookmarksToolbar should be visible now");
 | 
						|
  ok(navbar.collapsed, "navbar should be collapsed");
 | 
						|
  is(CustomizableUI.inDefaultState, false, "Should no longer be in default state");
 | 
						|
 | 
						|
  await startCustomizing();
 | 
						|
  await gCustomizeMode.reset();
 | 
						|
  await endCustomizing();
 | 
						|
 | 
						|
  is(bookmarksToolbar.collapsed, true, "Customization reset should restore collapsed-state to the bookmarks toolbar");
 | 
						|
  ok(!tabsToolbar.collapsed, "TabsToolbar should not be collapsed");
 | 
						|
  ok(bookmarksToolbar.collapsed, "The bookmarksToolbar should be collapsed after reset");
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be back to default state");
 | 
						|
});
 | 
						|
 | 
						|
// Check that the menubar will be collapsed by resetting, if the platform supports it.
 | 
						|
add_task(async function() {
 | 
						|
  let menubar = document.getElementById("toolbar-menubar");
 | 
						|
  const canMenubarCollapse = CustomizableUI.isToolbarDefaultCollapsed(menubar.id);
 | 
						|
  if (!canMenubarCollapse) {
 | 
						|
    return;
 | 
						|
  }
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be in its default state");
 | 
						|
 | 
						|
  is(menubar.getBoundingClientRect().height, 0, "menubar should be hidden by default");
 | 
						|
  setToolbarVisibility(menubar, true);
 | 
						|
  isnot(menubar.getBoundingClientRect().height, 0, "menubar should be visible now");
 | 
						|
 | 
						|
  await startCustomizing();
 | 
						|
  await gCustomizeMode.reset();
 | 
						|
 | 
						|
  is(menubar.getAttribute("autohide"), "true", "The menubar should have autohide=true after reset in customization mode");
 | 
						|
  is(menubar.getBoundingClientRect().height, 0, "The menubar should have height=0 after reset in customization mode");
 | 
						|
 | 
						|
  await endCustomizing();
 | 
						|
 | 
						|
  is(menubar.getAttribute("autohide"), "true", "The menubar should have autohide=true after reset");
 | 
						|
  is(menubar.getBoundingClientRect().height, 0, "The menubar should have height=0 after reset");
 | 
						|
});
 | 
						|
 | 
						|
// Customization reset should restore collapsed-state to default-collapsed toolbars.
 | 
						|
add_task(async function() {
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be in its default state");
 | 
						|
  ok(bookmarksToolbar.collapsed, "bookmarksToolbar should be collapsed");
 | 
						|
  ok(!tabsToolbar.collapsed, "TabsToolbar should not be collapsed");
 | 
						|
 | 
						|
  setToolbarVisibility(bookmarksToolbar, true);
 | 
						|
  ok(!bookmarksToolbar.collapsed, "bookmarksToolbar should be visible now");
 | 
						|
  is(CustomizableUI.inDefaultState, false, "Should no longer be in default state");
 | 
						|
 | 
						|
  await startCustomizing();
 | 
						|
 | 
						|
  ok(!bookmarksToolbar.collapsed, "The bookmarksToolbar should be visible before reset");
 | 
						|
  ok(!navbar.collapsed, "The navbar should be visible before reset");
 | 
						|
  ok(!tabsToolbar.collapsed, "TabsToolbar should not be collapsed");
 | 
						|
 | 
						|
  await gCustomizeMode.reset();
 | 
						|
 | 
						|
  ok(bookmarksToolbar.collapsed, "The bookmarksToolbar should be collapsed after reset");
 | 
						|
  ok(!tabsToolbar.collapsed, "TabsToolbar should not be collapsed");
 | 
						|
  ok(!navbar.collapsed, "The navbar should still be visible after reset");
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be back to default state");
 | 
						|
  await endCustomizing();
 | 
						|
});
 | 
						|
 | 
						|
// Check that the menubar will be collapsed by resetting, if the platform supports it.
 | 
						|
add_task(async function() {
 | 
						|
  let menubar = document.getElementById("toolbar-menubar");
 | 
						|
  const canMenubarCollapse = CustomizableUI.isToolbarDefaultCollapsed(menubar.id);
 | 
						|
  if (!canMenubarCollapse) {
 | 
						|
    return;
 | 
						|
  }
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be in its default state");
 | 
						|
  await startCustomizing();
 | 
						|
  let resetButton = document.getElementById("customization-reset-button");
 | 
						|
  is(resetButton.disabled, true, "The reset button should be disabled when in default state");
 | 
						|
 | 
						|
  setToolbarVisibility(menubar, true);
 | 
						|
  is(resetButton.disabled, false, "The reset button should be enabled when not in default state");
 | 
						|
  ok(!CustomizableUI.inDefaultState, "No longer in default state when the menubar is shown");
 | 
						|
 | 
						|
  await gCustomizeMode.reset();
 | 
						|
 | 
						|
  is(resetButton.disabled, true, "The reset button should be disabled when in default state");
 | 
						|
  ok(CustomizableUI.inDefaultState, "Everything should be in its default state");
 | 
						|
 | 
						|
  await endCustomizing();
 | 
						|
});
 |