Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* 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();
});