forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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");
 | 
						|
});
 |