summaryrefslogtreecommitdiffstats
path: root/browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js')
-rw-r--r--browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js57
1 files changed, 57 insertions, 0 deletions
diff --git a/browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js b/browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js
new file mode 100644
index 0000000000..8d4d650984
--- /dev/null
+++ b/browser/components/places/tests/browser/browser_enable_toolbar_sidebar.js
@@ -0,0 +1,57 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+/**
+ * Test that the Bookmarks Toolbar and Sidebar can be enabled from the Bookmarks Menu ("View history,
+ * saved bookmarks, and more" button.
+ */
+
+// Cleanup.
+registerCleanupFunction(async () => {
+ CustomizableUI.setToolbarVisibility("PersonalToolbar", false);
+ CustomizableUI.removeWidgetFromArea("library-button");
+ SidebarUI.hide();
+});
+
+async function selectAppMenuView(buttonId, viewId) {
+ let btn;
+ await TestUtils.waitForCondition(() => {
+ btn = document.getElementById(buttonId);
+ return btn;
+ }, "Should have the " + buttonId + " button");
+ btn.click();
+ let view = document.getElementById(viewId);
+ let viewPromise = BrowserTestUtils.waitForEvent(view, "ViewShown");
+ await viewPromise;
+}
+
+async function openBookmarkingPanelInLibraryToolbarButton() {
+ await selectAppMenuView("library-button", "appMenu-libraryView");
+ await selectAppMenuView(
+ "appMenu-library-bookmarks-button",
+ "PanelUI-bookmarks"
+ );
+}
+
+add_task(async function test_enable_toolbar() {
+ CustomizableUI.addWidgetToArea("library-button", "nav-bar");
+
+ await openBookmarkingPanelInLibraryToolbarButton();
+ let toolbar = document.getElementById("PersonalToolbar");
+ Assert.ok(toolbar.collapsed, "Bookmarks Toolbar is hidden");
+
+ let viewBookmarksToolbarBtn;
+ await TestUtils.waitForCondition(() => {
+ viewBookmarksToolbarBtn = document.getElementById(
+ "panelMenu_viewBookmarksToolbar"
+ );
+ return viewBookmarksToolbarBtn;
+ }, "Should have the library 'View Bookmarks Toolbar' button.");
+ viewBookmarksToolbarBtn.click();
+ await TestUtils.waitForCondition(
+ () => !toolbar.collapsed,
+ "Should have the Bookmarks Toolbar enabled."
+ );
+ Assert.ok(!toolbar.collapsed, "Bookmarks Toolbar is enabled");
+});