Bug 1437852 - Enable browser_console_restore.js in new frontend r?bgrins draft
authorMichael Ratcliffe <mratcliffe@mozilla.com>
Wed, 14 Feb 2018 15:59:35 +0000
changeset 755836 d976942cb7e7ae3e8f8558fd62b6c9c667b6b39e
parent 755833 994a8d6eccbcdc6106794705bd77e3ac5f031be2
push id99295
push userbmo:mratcliffe@mozilla.com
push dateThu, 15 Feb 2018 21:06:19 +0000
reviewersbgrins
bugs1437852
milestone60.0a1
Bug 1437852 - Enable browser_console_restore.js in new frontend r?bgrins MozReview-Commit-ID: Fk7yT1gXKI9
devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
devtools/client/webconsole/new-console-output/test/mochitest/browser_console_restore.js
devtools/client/webconsole/new-console-output/test/mochitest/head.js
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser.ini
@@ -180,17 +180,16 @@ skip-if = true # Bug 1437847
 skip-if = true # Bug 1437848
 [browser_console_hide_jsterm_when_devtools_chrome_enabled_false.js]
 skip-if = true # Bug 1437849
 [browser_console_nsiconsolemessage.js]
 skip-if = true # Bug 1437850
 [browser_console_open_or_focus.js]
 skip-if = true # Bug 1437851
 [browser_console_restore.js]
-skip-if = true # Bug 1437852
 [browser_console_webconsole_ctrlw_close_tab.js]
 skip-if = true # Bug 1437854
 [browser_console_webconsole_iframe_messages.js]
 skip-if = true # Bug 1437855
 [browser_console_webconsole_private_browsing.js]
 skip-if = true #	Bug 1403188
 # old console skip-if = e10s # Bug 1042253 - webconsole e10s tests
 [browser_jsterm_accessibility.js]
--- a/devtools/client/webconsole/new-console-output/test/mochitest/browser_console_restore.js
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/browser_console_restore.js
@@ -1,32 +1,34 @@
 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
 /* vim: set ft=javascript ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
+/* import-globals-from head.js */
+
 // Check that the browser console gets session state is set correctly, and that
 // it re-opens when restore is requested.
 
 "use strict";
 
-add_task(async function() {
+add_task(async function () {
   is(HUDService.getBrowserConsoleSessionState(), false, "Session state false by default");
   HUDService.storeBrowserConsoleSessionState();
   is(HUDService.getBrowserConsoleSessionState(), false,
     "Session state still not true even after setting (since Browser Console is closed)");
 
   await HUDService.toggleBrowserConsole();
   HUDService.storeBrowserConsoleSessionState();
   is(HUDService.getBrowserConsoleSessionState(), true,
     "Session state true (since Browser Console is opened)");
 
-  info("Closing the browser console and waiting for the session restore to reopen it")
+  info("Closing the browser console and waiting for the session restore to reopen it");
   await HUDService.toggleBrowserConsole();
 
   let opened = waitForBrowserConsole();
   gDevTools.restoreDevToolsSession({
     browserConsole: true
   });
 
-  info("Waiting for the console to open after session restore")
+  info("Waiting for the console to open after session restore");
   await opened;
 });
--- a/devtools/client/webconsole/new-console-output/test/mochitest/head.js
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/head.js
@@ -586,8 +586,23 @@ function selectNode(hud, node) {
   let selection = outputContainer.ownerDocument.getSelection();
   let range = document.createRange();
   range.selectNodeContents(node);
   selection.removeAllRanges();
   selection.addRange(range);
 
   return selection;
 }
+
+async function waitForBrowserConsole() {
+  return new Promise(resolve => {
+    Services.obs.addObserver(function observer(subject) {
+      Services.obs.removeObserver(observer, "web-console-created");
+      subject.QueryInterface(Ci.nsISupportsString);
+
+      let hud = HUDService.getBrowserConsole();
+      ok(hud, "browser console is open");
+      is(subject.data, hud.hudId, "notification hudId is correct");
+
+      executeSoon(() => resolve(hud));
+    }, "web-console-created");
+  });
+}