fune/browser/base/content/test/sidebar/browser_sidebar_switcher.js

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(async 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");
await SidebarUI.show("viewBookmarksSidebar");
await showSwitcherPanelPromise();
await clickSwitcherButton("#sidebar-switcher-history");
is(sidebar.getAttribute("sidebarcommand"), "viewHistorySidebar", "History sidebar loaded");
await showSwitcherPanelPromise();
await clickSwitcherButton("#sidebar-switcher-tabs");
is(sidebar.getAttribute("sidebarcommand"), "viewTabsSidebar", "Tabs sidebar loaded");
await showSwitcherPanelPromise();
await clickSwitcherButton("#sidebar-switcher-bookmarks");
is(sidebar.getAttribute("sidebarcommand"), "viewBookmarksSidebar", "Bookmarks sidebar loaded");
});