Bug 1466007 - Add test which checking that the all tab will go into overflow menu if devtool's toolbar width is minimum width.r?jdescottes
This patch add the test which confirm to display only chevron when width is narrow.
MozReview-Commit-ID: CpF4bWMtu8R
--- a/devtools/client/framework/test/browser.ini
+++ b/devtools/client/framework/test/browser.ini
@@ -114,16 +114,17 @@ skip-if = e10s # Bug 1069044 - destroyIn
[browser_toolbox_telemetry_enter.js]
[browser_toolbox_telemetry_exit.js]
[browser_toolbox_textbox_context_menu.js]
[browser_toolbox_theme.js]
[browser_toolbox_theme_registration.js]
[browser_toolbox_toggle.js]
[browser_toolbox_tool_ready.js]
[browser_toolbox_tool_remote_reopen.js]
+[browser_toolbox_toolbar_minimum_width.js]
[browser_toolbox_toolbar_overflow.js]
[browser_toolbox_toolbar_overflow_button_visibility.js]
[browser_toolbox_toolbar_reorder_by_dnd.js]
[browser_toolbox_toolbar_reorder_by_width.js]
[browser_toolbox_toolbar_reorder_with_extension.js]
[browser_toolbox_tools_per_toolbox_registration.js]
[browser_toolbox_view_source_01.js]
[browser_toolbox_view_source_02.js]
new file mode 100644
--- /dev/null
+++ b/devtools/client/framework/test/browser_toolbox_toolbar_minimum_width.js
@@ -0,0 +1,40 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test that all of buttons of tool tab go to the overflowed menu when the devtool's
+// width is narrow.
+
+const SIDEBAR_WIDTH_PREF = "devtools.toolbox.sidebar.width";
+
+const { Toolbox } = require("devtools/client/framework/toolbox");
+
+add_task(async function(pickerEnable, commandsEnable) {
+ // 74px is Chevron(26px) + Meatball(24px) + Close(24px)
+ // devtools-browser.css defined this minimum width by using min-width.
+ Services.prefs.setIntPref(SIDEBAR_WIDTH_PREF, 74);
+ registerCleanupFunction(function() {
+ Services.prefs.clearUserPref(SIDEBAR_WIDTH_PREF);
+ });
+ const tab = await addTab("about:blank");
+
+ info("Open devtools on the Inspector in a side dock");
+ const toolbox = await openToolboxForTab(tab, "inspector", Toolbox.HostType.SIDE);
+ await waitUntil(() => toolbox.doc.querySelector(".tools-chevron-menu"));
+
+ const menuPopup = await openChevronMenu(toolbox);
+
+ // Check that all of tools is overflowed.
+ toolbox.panelDefinitions.forEach(({id}) => {
+ const menuItem = toolbox.doc.getElementById("tools-chevron-menupopup-" + id);
+ const tab = toolbox.doc.getElementById("toolbox-tab-" + id);
+ ok(menuItem, id + " is in the overflowed menu");
+ ok(!tab, id + " tab does not exist");
+ });
+
+ info("Closing the chevron popup menu");
+ const onPopupHidden = once(menuPopup, "popuphidden");
+ menuPopup.hidePopup();
+ await onPopupHidden;
+});