diff options
Diffstat (limited to 'browser/base/content/test/sidebar/browser_sidebar_move.js')
-rw-r--r-- | browser/base/content/test/sidebar/browser_sidebar_move.js | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/browser/base/content/test/sidebar/browser_sidebar_move.js b/browser/base/content/test/sidebar/browser_sidebar_move.js new file mode 100644 index 0000000000..49d705895b --- /dev/null +++ b/browser/base/content/test/sidebar/browser_sidebar_move.js @@ -0,0 +1,72 @@ +registerCleanupFunction(() => { + Services.prefs.clearUserPref("sidebar.position_start"); + SidebarUI.hide(); +}); + +const EXPECTED_START_ORDINALS = [ + ["sidebar-box", 1], + ["sidebar-splitter", 2], + ["appcontent", 3], +]; + +const EXPECTED_END_ORDINALS = [ + ["sidebar-box", 3], + ["sidebar-splitter", 2], + ["appcontent", 1], +]; + +function getBrowserChildrenWithOrdinals() { + let browser = document.getElementById("browser"); + return [...browser.children].map(node => { + return [node.id, node.style.MozBoxOrdinalGroup]; + }); +} + +add_task(async function() { + await SidebarUI.show("viewBookmarksSidebar"); + SidebarUI.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 ordinal (start)" + ); + ok(!box.hasAttribute("positionend"), "Positioned start"); + + // Moved to right + SidebarUI.reversePosition(); + SidebarUI.showSwitcherPanel(); + Assert.deepEqual( + getBrowserChildrenWithOrdinals(), + EXPECTED_END_ORDINALS, + "Correct ordinal (end)" + ); + isnot( + reversePositionButton.getAttribute("label"), + originalLabel, + "Label changed" + ); + ok(box.hasAttribute("positionend"), "Positioned end"); + + // Moved to back to left + SidebarUI.reversePosition(); + SidebarUI.showSwitcherPanel(); + Assert.deepEqual( + getBrowserChildrenWithOrdinals(), + EXPECTED_START_ORDINALS, + "Correct ordinal (start)" + ); + ok(!box.hasAttribute("positionend"), "Positioned start"); + is( + reversePositionButton.getAttribute("label"), + originalLabel, + "Label is back to normal" + ); +}); |