gecko-dev/browser/base/content/test/sidebar/browser_sidebar_switcher.js
Brian Grinstead ddf43a91db Bug 1355331 - Create an option to move sidebar between the left and right sides of the window;r=mikedeboer
MozReview-Commit-ID: 79ts9djMC3e

--HG--
extra : rebase_source : 13a3281744ca1d16b478bc6269ce4f189e8b22b4
2017-05-24 09:54:34 -07:00

46 lines
1.5 KiB
JavaScript

registerCleanupFunction(() => {
SidebarUI.hide();
});
function showSwitcherPanelPromise() {
return new Promise(resolve => {
SidebarUI._switcherPanel.addEventListener("popupshown", () => {
resolve();
}, {once: true});
SidebarUI.showSwitcherPanel();
});
}
function clickSwitcherButton(querySelector) {
let sidebarPopup = document.querySelector("#sidebarMenu-popup");
let switcherPromise = Promise.all([
BrowserTestUtils.waitForEvent(window, "SidebarFocused"),
BrowserTestUtils.waitForEvent(sidebarPopup, "popuphidden"),
]);
document.querySelector(querySelector).click();
return switcherPromise;
}
add_task(function* () {
// If a sidebar is already open, close it.
if (!document.getElementById("sidebar-box").hidden) {
ok(false, "Unexpected sidebar found - a previous test failed to cleanup correctly");
SidebarUI.hide();
}
let sidebar = document.querySelector("#sidebar-box");
yield SidebarUI.show("viewBookmarksSidebar");
yield showSwitcherPanelPromise();
yield clickSwitcherButton("#sidebar-switcher-history");
is(sidebar.getAttribute("sidebarcommand"), "viewHistorySidebar", "History sidebar loaded");
yield showSwitcherPanelPromise();
yield clickSwitcherButton("#sidebar-switcher-tabs");
is(sidebar.getAttribute("sidebarcommand"), "viewTabsSidebar", "Tabs sidebar loaded");
yield showSwitcherPanelPromise();
yield clickSwitcherButton("#sidebar-switcher-bookmarks");
is(sidebar.getAttribute("sidebarcommand"), "viewBookmarksSidebar", "Bookmarks sidebar loaded");
});