mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 10:18:41 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			214 lines
		
	
	
	
		
			5.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			214 lines
		
	
	
	
		
			5.7 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();
 | 
						|
});
 |