76 lines
2 KiB
JavaScript
76 lines
2 KiB
JavaScript
registerCleanupFunction(() => {
|
|
Services.prefs.clearUserPref("sidebar.position_start");
|
|
SidebarController.hide();
|
|
});
|
|
|
|
const EXPECTED_START_ORDINALS = [
|
|
["sidebar-main", 1],
|
|
["sidebar-launcher-splitter", 2],
|
|
["sidebar-box", 3],
|
|
["sidebar-splitter", 4],
|
|
["tabbrowser-tabbox", 5],
|
|
];
|
|
|
|
const EXPECTED_END_ORDINALS = [
|
|
["sidebar-main", 5],
|
|
["sidebar-launcher-splitter", 4],
|
|
["sidebar-box", 3],
|
|
["sidebar-splitter", 2],
|
|
["tabbrowser-tabbox", 1],
|
|
];
|
|
|
|
function getBrowserChildrenWithOrdinals() {
|
|
let browser = document.getElementById("browser");
|
|
return [...browser.children].map(node => {
|
|
return [node.id, node.style.order];
|
|
});
|
|
}
|
|
|
|
add_task(async function () {
|
|
await SidebarController.show("viewBookmarksSidebar");
|
|
SidebarController.showSwitcherPanel();
|
|
|
|
let reversePositionButton = document.getElementById(
|
|
"sidebar-reverse-position"
|
|
);
|
|
let originalLabel = reversePositionButton.getAttribute("label");
|
|
let box = document.getElementById("sidebar-box");
|
|
|
|
// Default (position: left)
|
|
Assert.deepEqual(
|
|
getBrowserChildrenWithOrdinals(),
|
|
EXPECTED_START_ORDINALS,
|
|
"Correct browser ordinal (start)"
|
|
);
|
|
ok(!box.hasAttribute("sidebar-positionend"), "Positioned start");
|
|
|
|
// Moved to right
|
|
SidebarController.reversePosition();
|
|
SidebarController.showSwitcherPanel();
|
|
Assert.deepEqual(
|
|
getBrowserChildrenWithOrdinals(),
|
|
EXPECTED_END_ORDINALS,
|
|
"Correct browser ordinal (end)"
|
|
);
|
|
isnot(
|
|
reversePositionButton.getAttribute("label"),
|
|
originalLabel,
|
|
"Label changed"
|
|
);
|
|
ok(box.hasAttribute("sidebar-positionend"), "Positioned end");
|
|
|
|
// Moved to back to left
|
|
SidebarController.reversePosition();
|
|
SidebarController.showSwitcherPanel();
|
|
Assert.deepEqual(
|
|
getBrowserChildrenWithOrdinals(),
|
|
EXPECTED_START_ORDINALS,
|
|
"Correct browser ordinal (start)"
|
|
);
|
|
ok(!box.hasAttribute("sidebar-positionend"), "Positioned start");
|
|
is(
|
|
reversePositionButton.getAttribute("label"),
|
|
originalLabel,
|
|
"Label is back to normal"
|
|
);
|
|
});
|