Bug 1256869 - Fix eslint issues in browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js. r=me, a=test-only
authorBrian Grinstead <bgrinstead@mozilla.com>
Tue, 24 May 2016 09:24:21 -0700
changeset 333163 2517414f318f3b31d37dfd0cda30685245399c36
parent 333162 6693f46568b83a0622c1cad7be055d6fb6af93a2
child 333164 fae69cba7787806bba92333b34b202786cd04f0a
push id6048
push userkmoir@mozilla.com
push dateMon, 06 Jun 2016 19:02:08 +0000
treeherdermozilla-beta@46d72a56c57d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersme, test-only
bugs1256869
milestone48.0a2
Bug 1256869 - Fix eslint issues in browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js. r=me, a=test-only MozReview-Commit-ID: G054kUVXbcr
devtools/client/framework/test/shared-head.js
devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
--- a/devtools/client/framework/test/shared-head.js
+++ b/devtools/client/framework/test/shared-head.js
@@ -89,21 +89,18 @@ DevToolsUtils.testing = true;
 registerCleanupFunction(() => {
   DevToolsUtils.testing = false;
   Services.prefs.clearUserPref("devtools.dump.emit");
   Services.prefs.clearUserPref("devtools.toolbox.host");
   Services.prefs.clearUserPref("devtools.toolbox.previousHost");
 });
 
 registerCleanupFunction(function* cleanup() {
-  let target = TargetFactory.forTab(gBrowser.selectedTab);
-  yield gDevTools.closeToolbox(target);
-
   while (gBrowser.tabs.length > 1) {
-    gBrowser.removeCurrentTab();
+    yield closeTabAndToolbox(gBrowser.selectedTab);
   }
 });
 
 /**
  * Add a new test tab in the browser and load the given url.
  * @param {String} url The url to be loaded in the new tab
  * @return a promise that resolves to the tab object when the url is loaded
  */
--- a/devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
+++ b/devtools/client/webconsole/test/browser_webconsole_bug_752559_ineffective_iframe_sandbox_warning.js
@@ -3,80 +3,81 @@
 /* Any copyright is dedicated to the Public Domain.
  * http://creativecommons.org/publicdomain/zero/1.0/ */
 
 // Tests that warnings about ineffective iframe sandboxing are logged to the
 // web console when necessary (and not otherwise).
 
 "use strict";
 
-const TEST_URI_WARNING = "http://example.com/browser/devtools/client/" +
-                         "webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning0.html";
+requestLongerTimeout(2);
+
+const TEST_URI_WARNING = "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning0.html";
 const TEST_URI_NOWARNING = [
   "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning1.html",
   "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning2.html",
   "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning3.html",
   "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning4.html",
   "http://example.com/browser/devtools/client/webconsole/test/test-bug-752559-ineffective-iframe-sandbox-warning5.html"
 ];
 
 const INEFFECTIVE_IFRAME_SANDBOXING_MSG = "An iframe which has both " +
   "allow-scripts and allow-same-origin for its sandbox attribute can remove " +
   "its sandboxing.";
 const SENTINEL_MSG = "testing ineffective sandboxing message";
 
-function test() {
-  loadTab(TEST_URI_WARNING).then(() => {
-    openConsole().then((hud) => {
-      ContentTask.spawn(gBrowser.selectedBrowser, SENTINEL_MSG, function*(msg) {
-        content.console.log(msg);
-      });
-      waitForMessages({
-        webconsole: hud,
-        messages: [
-          {
-            name: "Ineffective iframe sandboxing warning displayed successfully",
-            text: INEFFECTIVE_IFRAME_SANDBOXING_MSG,
-            category: CATEGORY_SECURITY,
-            severity: SEVERITY_WARNING
-          },
-          {
-            text: SENTINEL_MSG,
-            severity: SEVERITY_LOG
-          }
-        ]
-      }).then(() => {
-        let msgs = hud.outputNode.querySelectorAll(".message[category=security]");
-        is(msgs.length, 1, "one security message");
-        testNoWarning(0);
-      });
-    });
+add_task(function* () {
+  yield testYesWarning();
+
+  for (let id = 0; id < TEST_URI_NOWARNING.length; id++) {
+    yield testNoWarning(id);
+  }
+});
+
+function* testYesWarning() {
+  yield loadTab(TEST_URI_WARNING);
+  let hud = yield openConsole();
+
+  ContentTask.spawn(gBrowser.selectedBrowser, SENTINEL_MSG, function* (msg) {
+    content.console.log(msg);
   });
+
+  yield waitForMessages({
+    webconsole: hud,
+    messages: [
+      {
+        name: "Ineffective iframe sandboxing warning displayed successfully",
+        text: INEFFECTIVE_IFRAME_SANDBOXING_MSG,
+        category: CATEGORY_SECURITY,
+        severity: SEVERITY_WARNING
+      },
+      {
+        text: SENTINEL_MSG,
+        severity: SEVERITY_LOG
+      }
+    ]
+  });
+
+  let msgs = hud.outputNode.querySelectorAll(".message[category=security]");
+  is(msgs.length, 1, "one security message");
 }
 
-function testNoWarning(id) {
-  loadTab(TEST_URI_NOWARNING[id]).then(() => {
-    openConsole().then((hud) => {
-      ContentTask.spawn(gBrowser.selectedBrowser, SENTINEL_MSG, function*(msg) {
-        content.console.log(msg);
-      });
-      waitForMessages({
-        webconsole: hud,
-        messages: [
-          {
-            text: SENTINEL_MSG,
-            severity: SEVERITY_LOG
-          }
-        ]
-      }).then(() => {
-        let msgs = hud.outputNode.querySelectorAll(".message[category=security]");
-        is(msgs.length, 0, "no security messages (case " + id + ")");
+function* testNoWarning(id) {
+  yield loadTab(TEST_URI_NOWARNING[id]);
+  let hud = yield openConsole();
+
+  ContentTask.spawn(gBrowser.selectedBrowser, SENTINEL_MSG, function* (msg) {
+    content.console.log(msg);
+  });
 
-        id += 1;
-        if (id < TEST_URI_NOWARNING.length) {
-          testNoWarning(id);
-        } else {
-          finishTest();
-        }
-      });
-    });
+  yield waitForMessages({
+    webconsole: hud,
+    messages: [
+      {
+        text: SENTINEL_MSG,
+        severity: SEVERITY_LOG
+      }
+    ]
   });
+
+  let msgs = hud.outputNode.querySelectorAll(".message[category=security]");
+  is(msgs.length, 0, "no security messages (case " + id + ")");
 }