Bug 1354890 - convert uses of 'defer' to 'new Promise' in client/commandline/ draft
authorMichael Kohler <mkohler@picobudget.com>
Sat, 20 May 2017 21:26:25 +0200
changeset 582046 b73b1c59ee450c58acbb0aa8ce9f08023c0ebf8d
parent 581473 8d60d0f825110cfb646ac31dc16dc011708bcf34
child 629650 5feb8b3e341c5d0d81e42c91139984ab431539c0
push id59951
push userbmo:me@michaelkohler.info
push dateSat, 20 May 2017 20:44:41 +0000
bugs1354890
milestone55.0a1
Bug 1354890 - convert uses of 'defer' to 'new Promise' in client/commandline/ MozReview-Commit-ID: K3xnbfF8ebx
devtools/client/commandline/test/browser_cmd_calllog.js
devtools/client/commandline/test/browser_cmd_calllog_chrome.js
--- a/devtools/client/commandline/test/browser_cmd_calllog.js
+++ b/devtools/client/commandline/test/browser_cmd_calllog.js
@@ -47,73 +47,67 @@ tests.testCallLogStatus = function (opti
         markup: "VVVVVVVVVVVV",
         status: "VALID"
       }
     },
   ]);
 };
 
 tests.testCallLogExec = function (options) {
-  var deferred = promise.defer();
+  return new Promise((resolve, reject) => {
+    var onWebConsoleOpen = function (subject) {
+      Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
+
+      subject.QueryInterface(Ci.nsISupportsString);
+      let hud = HUDService.getHudReferenceById(subject.data);
+      ok(hud, "console open");
 
-  var onWebConsoleOpen = function (subject) {
-    Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
-
-    subject.QueryInterface(Ci.nsISupportsString);
-    let hud = HUDService.getHudReferenceById(subject.data);
-    ok(hud, "console open");
+      helpers.audit(options, [
+        {
+          setup: "calllog stop",
+          exec: {
+            output: /Stopped call logging/,
+          }
+        },
+        {
+          setup: "console clear",
+          exec: {
+            output: "",
+          },
+          post: function () {
+            let labels = hud.outputNode.querySelectorAll(".webconsole-msg-output");
+            is(labels.length, 0, "no output in console");
+          }
+        },
+        {
+          setup: "console close",
+          exec: {
+            output: "",
+          }
+        },
+      ]).then(resolve);
+    };
+    Services.obs.addObserver(onWebConsoleOpen, "web-console-created");
 
     helpers.audit(options, [
       {
         setup: "calllog stop",
         exec: {
-          output: /Stopped call logging/,
-        }
-      },
-      {
-        setup: "console clear",
-        exec: {
-          output: "",
-        },
-        post: function () {
-          let labels = hud.outputNode.querySelectorAll(".webconsole-msg-output");
-          is(labels.length, 0, "no output in console");
+          output: /No call logging/,
         }
       },
       {
-        setup: "console close",
+        name: "calllog start",
+        setup: function () {
+          // This test wants to be in a different event
+          return new Promise((resolve, reject) => {
+            executeSoon(function () {
+              helpers.setInput(options, "calllog start").then(resolve);
+            });
+          });
+        },
         exec: {
-          output: "",
-        }
+          output: /Call logging started/,
+        },
       },
-    ]).then(function () {
-      deferred.resolve();
-    });
-  };
-  Services.obs.addObserver(onWebConsoleOpen, "web-console-created");
-
-  helpers.audit(options, [
-    {
-      setup: "calllog stop",
-      exec: {
-        output: /No call logging/,
-      }
-    },
-    {
-      name: "calllog start",
-      setup: function () {
-        // This test wants to be in a different event
-        var deferred = promise.defer();
-        executeSoon(function () {
-          helpers.setInput(options, "calllog start").then(() => {
-            deferred.resolve();
-          });
-        });
-        return deferred.promise;
-      },
-      exec: {
-        output: /Call logging started/,
-      },
-    },
-  ]);
-
-  return deferred.promise;
+    ]);
+  });
 };
--- a/devtools/client/commandline/test/browser_cmd_calllog_chrome.js
+++ b/devtools/client/commandline/test/browser_cmd_calllog_chrome.js
@@ -48,69 +48,65 @@ tests.testCallLogStatus = function (opti
         status: "VALID",
         emptyParameters: [ " " ]
       }
     },
   ]);
 };
 
 tests.testCallLogExec = function (options) {
-  let deferred = promise.defer();
+  return new Promise((resolve, reject) => {
+    function onWebConsoleOpen(subject) {
+      Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
+
+      subject.QueryInterface(Ci.nsISupportsString);
+      let hud = HUDService.getHudReferenceById(subject.data);
+      ok(hud, "console open");
 
-  function onWebConsoleOpen(subject) {
-    Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
-
-    subject.QueryInterface(Ci.nsISupportsString);
-    let hud = HUDService.getHudReferenceById(subject.data);
-    ok(hud, "console open");
+      helpers.audit(options, [
+        {
+          setup: "calllog chromestop",
+          exec: {
+            output: /Stopped call logging/,
+          }
+        },
+        {
+          setup: "calllog chromestart javascript XXX",
+          exec: {
+            output: /following exception/,
+          }
+        },
+        {
+          setup: "console clear",
+          exec: {
+            output: "",
+          },
+          post: function () {
+            let labels = hud.jsterm.outputNode.querySelectorAll(".webconsole-msg-output");
+            is(labels.length, 0, "no output in console");
+          }
+        },
+        {
+          setup: "console close",
+          exec: {
+            output: "",
+          },
+        },
+      ]).then(resolve);
+    }
+    Services.obs.addObserver(onWebConsoleOpen, "web-console-created", false);
 
     helpers.audit(options, [
       {
         setup: "calllog chromestop",
         exec: {
-          output: /Stopped call logging/,
-        }
-      },
-      {
-        setup: "calllog chromestart javascript XXX",
-        exec: {
-          output: /following exception/,
-        }
-      },
-      {
-        setup: "console clear",
-        exec: {
-          output: "",
-        },
-        post: function () {
-          let labels = hud.jsterm.outputNode.querySelectorAll(".webconsole-msg-output");
-          is(labels.length, 0, "no output in console");
+          output: /No call logging/
         }
       },
       {
-        setup: "console close",
+        setup: "calllog chromestart javascript \"({a1: function() {this.a2()},a2: function() {}});\"",
         exec: {
-          output: "",
-        },
+          output: /Call logging started/,
+        }
       },
-    ]).then(function () {
-      deferred.resolve();
-    });
-  }
-  Services.obs.addObserver(onWebConsoleOpen, "web-console-created");
-
-  helpers.audit(options, [
-    {
-      setup: "calllog chromestop",
-      exec: {
-        output: /No call logging/
-      }
-    },
-    {
-      setup: "calllog chromestart javascript \"({a1: function() {this.a2()},a2: function() {}});\"",
-      exec: {
-        output: /Call logging started/,
-      }
-    },
-  ]);
-
-  return deferred.promise;
+    ]);
+  });
 };