Bug 1455496 - Part 2. Add test of existence of scratchpad's menu bar. r?jdescottes draft
authorMantaroh Yoshinaga <mantaroh@gmail.com>
Fri, 20 Apr 2018 18:36:18 +0900
changeset 785529 e71263c7310982457d97a130cda5e7488c71cc6f
parent 785528 92001b5c4cd16e12d053ac28b6810e92eb2c9953
push id107248
push userbmo:mantaroh@gmail.com
push dateFri, 20 Apr 2018 09:36:46 +0000
reviewersjdescottes
bugs1455496
milestone61.0a1
Bug 1455496 - Part 2. Add test of existence of scratchpad's menu bar. r?jdescottes MozReview-Commit-ID: Fn708f10aht
devtools/client/scratchpad/test/browser.ini
devtools/client/scratchpad/test/browser_scratchpad_toolbox.js
--- a/devtools/client/scratchpad/test/browser.ini
+++ b/devtools/client/scratchpad/test/browser.ini
@@ -40,8 +40,9 @@ support-files = NS_ERROR_ILLEGAL_INPUT.t
 [browser_scratchpad_pprint.js]
 [browser_scratchpad_pprint_error_goto_line.js]
 [browser_scratchpad_restore.js]
 [browser_scratchpad_tab_switch.js]
 [browser_scratchpad_ui.js]
 [browser_scratchpad_close_toolbox.js]
 [browser_scratchpad_remember_view_options.js]
 [browser_scratchpad_disable_view_menu_items.js]
+[browser_scratchpad_toolbox.js]
new file mode 100644
--- /dev/null
+++ b/devtools/client/scratchpad/test/browser_scratchpad_toolbox.js
@@ -0,0 +1,36 @@
+/* Any copyright is dedicated to the Public Domain.
+   http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Sanity test that menu bar is displayed. If open the scratchpad as toolbox panel,
+// this menu should be hidden.
+
+var {TargetFactory} = require("devtools/client/framework/target");
+
+add_task(async function() {
+  // Now open the scratchpad as window.
+  info("Test existence of menu bar of scratchpad.");
+  const options = {
+    tabContent: "Sanity test for scratchpad panel."
+  };
+
+  info("Open scratchpad.");
+  let [win] = await openTabAndScratchpad(options);
+
+  let menuToolbar = win.document.getElementById("sp-menu-toolbar");
+  ok(menuToolbar, "The scrachpad should have a menu bar.");
+});
+
+add_task(async function() {
+  // Now open the scratchpad panel after setting visibility preference.
+  info("Test existence of menu bar of scratchpad panel.");
+  await new Promise(resolve => {
+    SpecialPowers.pushPrefEnv({"set": [["devtools.scratchpad.enabled", true]]}, resolve);
+  });
+
+  info("Open devtools on the Scratchpad.");
+  let target = TargetFactory.forTab(gBrowser.selectedTab);
+  let toolbox = await gDevTools.showToolbox(target, "scratchpad");
+
+  let menuToolbar = toolbox.doc.getElementById("sp-menu-toolbar");
+  ok(!menuToolbar, "The scrachpad panel should not have a menu bar.");
+});