Bug 1452143: Fix webconsole tests. r?jryans draft
authorEmilio Cobos Álvarez <emilio@crisal.io>
Mon, 16 Apr 2018 16:39:41 +0200
changeset 783201 82c79bf5f40d641a703ed968c74e59213a5cf458
parent 783200 918ad41d9e7b746936a67e46c6fce0360a033466
child 783202 4989d6712f9563b1a78de59c7da95a6128634910
push id106640
push userbmo:emilio@crisal.io
push dateMon, 16 Apr 2018 19:43:11 +0000
reviewersjryans
bugs1452143
milestone61.0a1
Bug 1452143: Fix webconsole tests. r?jryans MozReview-Commit-ID: ClzJ0Ee1n5I
devtools/client/webconsole/test/fixtures/stub-generators/head.js
devtools/client/webconsole/test/mochitest/browser_webconsole_cached_messages.js
devtools/shared/webconsole/test/test_cached_messages.html
--- a/devtools/client/webconsole/test/fixtures/stub-generators/head.js
+++ b/devtools/client/webconsole/test/fixtures/stub-generators/head.js
@@ -365,16 +365,17 @@ async function generateCssMessageStubs()
         resolve();
       });
     });
 
     await ContentTask.spawn(
       gBrowser.selectedBrowser,
       [key, code],
       function([subKey, subCode]) {
+        content.document.docShell.cssErrorReportingEnabled = true;
         let style = content.document.createElement("style");
         // eslint-disable-next-line no-unsanitized/property
         style.innerHTML = subCode;
         content.document.body.appendChild(style);
       }
     );
 
     await received;
--- a/devtools/client/webconsole/test/mochitest/browser_webconsole_cached_messages.js
+++ b/devtools/client/webconsole/test/mochitest/browser_webconsole_cached_messages.js
@@ -20,31 +20,37 @@ add_task(async function() {
   }
   // Enable CSS filter for the test.
   await pushPref("devtools.webconsole.filter.css", true);
 
   await addTab(TEST_URI);
 
   info("Open the console");
   let hud = await openConsole();
-  testMessagesVisibility(hud);
+
+  await testMessagesVisibility(hud, true);
 
   info("Close the toolbox");
   await closeToolbox();
 
   info("Open the console again");
   hud = await openConsole();
-  testMessagesVisibility(hud);
+  await testMessagesVisibility(hud, false);
 });
 
-function testMessagesVisibility(hud) {
+async function testMessagesVisibility(hud, waitForCSSMessage) {
   let message = findMessage(hud, "log Bazzle", ".message.log");
   ok(message, "console.log message is visible");
 
   message = findMessage(hud, "error Bazzle", ".message.error");
   ok(message, "console.error message is visible");
 
   message = findMessage(hud, "bazBug611032", ".message.error");
   ok(message, "exception message is visible");
 
+  // The CSS message arrives lazily, so spin a bit for it unless it should be
+  // cached.
+  if (waitForCSSMessage) {
+    await waitForMessage(hud, "cssColorBug611032");
+  }
   message = findMessage(hud, "cssColorBug611032", ".message.warn.css");
   ok(message, "css warning message is visible");
 }
--- a/devtools/shared/webconsole/test/test_cached_messages.html
+++ b/devtools/shared/webconsole/test/test_cached_messages.html
@@ -7,16 +7,17 @@
   <script type="text/javascript" src="common.js"></script>
   <!-- Any copyright is dedicated to the Public Domain.
      - http://creativecommons.org/publicdomain/zero/1.0/ -->
 </head>
 <body>
 <p>Test for cached messages</p>
 
 <script class="testbody" type="application/javascript">
+document.docShell.cssErrorReportingEnabled = true;
 var ConsoleAPIStorage = Cc["@mozilla.org/consoleAPI-storage;1"]
                           .getService(Ci.nsIConsoleAPIStorage);
 let expectedConsoleCalls = [];
 let expectedPageErrors = [];
 
 function doPageErrors() {
   Services.console.reset();