summaryrefslogtreecommitdiffstats
path: root/browser/components/customizableui/test/browser_insert_before_moved_node.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/customizableui/test/browser_insert_before_moved_node.js')
-rw-r--r--browser/components/customizableui/test/browser_insert_before_moved_node.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/browser/components/customizableui/test/browser_insert_before_moved_node.js b/browser/components/customizableui/test/browser_insert_before_moved_node.js
new file mode 100644
index 0000000000..611f4e3ce0
--- /dev/null
+++ b/browser/components/customizableui/test/browser_insert_before_moved_node.js
@@ -0,0 +1,51 @@
+"use strict";
+
+/**
+ * Check inserting before a node that has moved from the toolbar into a
+ * non-customizable bit of the browser works.
+ */
+add_task(async function () {
+ for (let toolbar of ["nav-bar", "TabsToolbar"]) {
+ CustomizableUI.createWidget({
+ id: "real-button",
+ label: "test real button",
+ });
+ CustomizableUI.addWidgetToArea("real-button", toolbar);
+ CustomizableUI.addWidgetToArea("moved-button-not-here", toolbar);
+ let placements = CustomizableUI.getWidgetIdsInArea(toolbar);
+ Assert.deepEqual(
+ placements.slice(-2),
+ ["real-button", "moved-button-not-here"],
+ "Should have correct placements"
+ );
+ let otherButton = document.createXULElement("toolbarbutton");
+ otherButton.id = "moved-button-not-here";
+ if (toolbar == "nav-bar") {
+ gURLBar.textbox.parentNode.appendChild(otherButton);
+ } else {
+ gBrowser.tabContainer.appendChild(otherButton);
+ }
+ CustomizableUI.destroyWidget("real-button");
+ CustomizableUI.createWidget({
+ id: "real-button",
+ label: "test real button",
+ });
+
+ let button = document.getElementById("real-button");
+ ok(button, "Button should exist");
+ if (button) {
+ let expectedContainer = CustomizableUI.getCustomizationTarget(
+ document.getElementById(toolbar)
+ );
+ is(
+ button.parentNode,
+ expectedContainer,
+ "Button should be in the toolbar"
+ );
+ }
+
+ CustomizableUI.destroyWidget("real-button");
+ otherButton.remove();
+ CustomizableUI.reset();
+ }
+});