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 draft
authorMantaroh Yoshinaga <mantaroh@gmail.com>
Wed, 06 Jun 2018 09:42:15 +0900
changeset 804491 cb007467a1d6f0f87b0da4cd4d2bea5a6fac1a31
parent 803743 d8f180ab74921fd07a66d6868914a48e5f9ea797
push id112385
push userbmo:mantaroh@gmail.com
push dateWed, 06 Jun 2018 00:42:37 +0000
reviewersjdescottes
bugs1466007
milestone62.0a1
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
devtools/client/framework/test/browser.ini
devtools/client/framework/test/browser_toolbox_toolbar_minimum_width.js
--- 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;
+});