1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
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"
);
});
|