Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
/**
* Tests whether the separator insertion works correctly for the
* special case where we remove the content except the header itself
* before showing the panel view.
*/
const RECENTLY_CLOSED_TABS_PANEL_ID = "appMenu-library-recentlyClosedTabs";
const RECENTLY_CLOSED_TABS_ITEM_ID = "appMenuRecentlyClosedTabs";
function assertHeaderSeparator() {
let header = document.querySelector(
`#${RECENTLY_CLOSED_TABS_PANEL_ID} .panel-header`
);
Assert.equal(
header.nextSibling.tagName,
"toolbarseparator",
"toolbarseparator should be shown below header"
);
}
/**
* Open and close a tab so we can access the "Recently
* closed tabs" panel
*/
add_task(async function test_setup() {
let tab = BrowserTestUtils.addTab(gBrowser, TEST_SITE);
gBrowser.selectedTab = tab;
let browser = gBrowser.getBrowserForTab(tab);
await BrowserTestUtils.browserLoaded(browser, false, null, true);
await BrowserTestUtils.removeTab(tab);
});
/**
* Tests whether the toolbarseparator is shown correctly
*
* - App Menu
* - History
* - Recently closed tabs
*/
add_task(async function test_header_toolbarseparator() {
await gCUITestUtils.openMainMenu();
let historyView = PanelMultiView.getViewNode(document, "PanelUI-history");
document.getElementById("appMenu-history-button").click();
await BrowserTestUtils.waitForEvent(historyView, "ViewShown");
// Open Recently Closed Tabs and make sure there is a header separator
let closedTabsView = PanelMultiView.getViewNode(
document,
RECENTLY_CLOSED_TABS_PANEL_ID
);
Assert.ok(!document.getElementById(RECENTLY_CLOSED_TABS_ITEM_ID).disabled);
document.getElementById(RECENTLY_CLOSED_TABS_ITEM_ID).click();
await BrowserTestUtils.waitForEvent(closedTabsView, "ViewShown");
assertHeaderSeparator();
// Go back and re-open the same view, header separator should be
// re-added as well
document
.querySelector(`#${RECENTLY_CLOSED_TABS_PANEL_ID} .subviewbutton-back`)
.click();
await BrowserTestUtils.waitForEvent(historyView, "ViewShown");
document.getElementById(RECENTLY_CLOSED_TABS_ITEM_ID).click();
await BrowserTestUtils.waitForEvent(closedTabsView, "ViewShown");
assertHeaderSeparator();
await gCUITestUtils.hideMainMenu();
});