Bug 1455462 - Part 4. Use the async_task in devtool's zoom test. r=jdescottes
authorMantaroh Yoshinaga <mantaroh@gmail.com>
Fri, 11 May 2018 09:08:09 +0900
changeset 417876 d130f6c97791e260b5e64b904e950b4e2b3c2c01
parent 417875 6d6065b44f12b5781088628414ad0356960316d9
child 417877 24cc4156d7c432942ec6be0ecccb4d364242a58d
push id63865
push usermantaroh@gmail.com
push dateFri, 11 May 2018 08:13:15 +0000
treeherderautoland@17454360b8c5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjdescottes
bugs1455462
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1455462 - Part 4. Use the async_task in devtool's zoom test. r=jdescottes This patch will change test to use the async_task before touching this tests and use the first decimal place when checking a result. MozReview-Commit-ID: DBkvLtEmEa3
devtools/client/framework/test/browser_toolbox_zoom.js
--- a/devtools/client/framework/test/browser_toolbox_zoom.js
+++ b/devtools/client/framework/test/browser_toolbox_zoom.js
@@ -1,67 +1,49 @@
-/* -*- 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/ */
 
 "use strict";
 
-var toolbox;
-
 const {LocalizationHelper} = require("devtools/shared/l10n");
+const {Toolbox} = require("devtools/client/framework/toolbox");
 const L10N = new LocalizationHelper("devtools/client/locales/toolbox.properties");
 
-function test() {
-  addTab("about:blank").then(openToolbox);
-}
-
-function openToolbox() {
+add_task(async function() {
+  await addTab("about:blank");
   let target = TargetFactory.forTab(gBrowser.selectedTab);
+  let toolbox = await gDevTools.showToolbox(target,
+                                            "styleeditor",
+                                            Toolbox.HostType.BOTTOM);
 
-  gDevTools.showToolbox(target).then((aToolbox) => {
-    toolbox = aToolbox;
-    toolbox.selectTool("styleeditor").then(testZoom);
-  });
-}
-
-function testZoom() {
   info("testing zoom keys");
 
-  testZoomLevel("In", 2, 1.2);
-  testZoomLevel("Out", 3, 0.9);
-  testZoomLevel("Reset", 1, 1);
+  testZoomLevel("In", 2, 1.2, toolbox);
+  testZoomLevel("Out", 3, 0.9, toolbox);
+  testZoomLevel("Reset", 1, 1, toolbox);
 
-  tidyUp();
-}
+  await toolbox.destroy();
+  gBrowser.removeCurrentTab();
+});
 
-function testZoomLevel(type, times, expected) {
+function testZoomLevel(type, times, expected, toolbox) {
   sendZoomKey("toolbox.zoom" + type + ".key", times);
 
   let zoom = getCurrentZoom(toolbox);
-  is(zoom.toFixed(2), expected, "zoom level correct after zoom " + type);
+  is(zoom.toFixed(1), expected, "zoom level correct after zoom " + type);
 
   let savedZoom = parseFloat(Services.prefs.getCharPref(
     "devtools.toolbox.zoomValue"));
-  is(savedZoom.toFixed(2), expected,
+  is(savedZoom.toFixed(1), expected,
      "saved zoom level is correct after zoom " + type);
 }
 
 function sendZoomKey(shortcut, times) {
   for (let i = 0; i < times; i++) {
     synthesizeKeyShortcut(L10N.getStr(shortcut));
   }
 }
 
-function getCurrentZoom() {
+function getCurrentZoom(toolbox) {
   let windowUtils = toolbox.win.QueryInterface(Ci.nsIInterfaceRequestor)
     .getInterface(Ci.nsIDOMWindowUtils);
   return windowUtils.fullZoom;
 }
-
-function tidyUp() {
-  toolbox.destroy().then(function() {
-    gBrowser.removeCurrentTab();
-
-    toolbox = null;
-    finish();
-  });
-}