Bug 1262662 - clear history on startup for newtab messages tests r?marcosc draft
authorOlivier Yiptong <olivier@olivieryiptong.com>
Thu, 14 Apr 2016 07:57:22 -0700
changeset 362968 d737a795db0114bc914c3256b1e5e53e234b2dfc
parent 356103 2045bc8c9e90a7ca0b8c6447ddecd812a71b29e1
child 519916 c107664e4c76a1ca551ea91962a369f45562f8bb
push id17075
push userolivier@olivieryiptong.com
push dateTue, 03 May 2016 18:14:48 +0000
reviewersmarcosc
bugs1262662
milestone49.0a1
Bug 1262662 - clear history on startup for newtab messages tests r?marcosc MozReview-Commit-ID: C10RS4fH5FW
browser/components/newtab/tests/browser/browser_newtabmessages.js
--- a/browser/components/newtab/tests/browser/browser_newtabmessages.js
+++ b/browser/components/newtab/tests/browser/browser_newtabmessages.js
@@ -1,39 +1,42 @@
-/* globals Cu, XPCOMUtils, Preferences, is, registerCleanupFunction, NewTabWebChannel, PlacesTestUtils */
+/* globals Cu, XPCOMUtils, Preferences, is, registerCleanupFunction, NewTabWebChannel, PlacesTestUtils, Task */
 
 "use strict";
 
 Cu.import("resource://gre/modules/Preferences.jsm");
+Cu.import("resource://gre/modules/Task.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "NewTabWebChannel",
                                   "resource:///modules/NewTabWebChannel.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "NewTabMessages",
                                   "resource:///modules/NewTabMessages.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "PlacesTestUtils",
                                   "resource://testing-common/PlacesTestUtils.jsm");
 
-function setup() {
+let setup = Task.async(function*() {
   Preferences.set("browser.newtabpage.enhanced", true);
   Preferences.set("browser.newtabpage.remote.mode", "test");
   Preferences.set("browser.newtabpage.remote", true);
   NewTabMessages.init();
-}
+  yield PlacesTestUtils.clearHistory();
+});
 
-function cleanup() {
+let cleanup = Task.async(function*() {
   NewTabMessages.uninit();
   Preferences.set("browser.newtabpage.remote", false);
   Preferences.set("browser.newtabpage.remote.mode", "production");
-}
+});
 registerCleanupFunction(cleanup);
 
 /*
  * Sanity tests for pref messages
  */
 add_task(function* prefMessages_request() {
-  setup();
+  yield setup();
+
   let testURL = "https://example.com/browser/browser/components/newtab/tests/browser/newtabmessages_prefs.html";
 
   let tabOptions = {
     gBrowser,
     url: testURL
   };
 
   let prefResponseAck = new Promise(resolve => {
@@ -49,24 +52,24 @@ add_task(function* prefMessages_request(
       NewTabWebChannel.once("responseAck", () => {
         ok(true, "a change response has been received");
         resolve();
       });
     });
     Preferences.set("browser.newtabpage.enhanced", false);
     yield prefChangeAck;
   });
-  cleanup();
+  yield cleanup();
 });
 
 /*
  * Sanity tests for preview messages
  */
 add_task(function* previewMessages_request() {
-  setup();
+  yield setup();
   var oldEnabledPref = Services.prefs.getBoolPref("browser.pagethumbnails.capturing_disabled");
   Services.prefs.setBoolPref("browser.pagethumbnails.capturing_disabled", false);
 
   let testURL = "https://example.com/browser/browser/components/newtab/tests/browser/newtabmessages_preview.html";
 
   let tabOptions = {
     gBrowser,
     url: testURL
@@ -77,25 +80,25 @@ add_task(function* previewMessages_reque
       ok(true, "a request response has been received");
       resolve();
     });
   });
 
   yield BrowserTestUtils.withNewTab(tabOptions, function*() {
     yield previewResponseAck;
   });
-  cleanup();
+  yield cleanup();
   Services.prefs.setBoolPref("browser.pagethumbnails.capturing_disabled", oldEnabledPref);
 });
 
 /*
  * Sanity tests for places messages
  */
 add_task(function* placesMessages_request() {
-  setup();
+  yield setup();
   let testURL = "https://example.com/browser/browser/components/newtab/tests/browser/newtabmessages_places.html";
 
   // url prefix for test history population
   const TEST_URL = "https://mozilla.com/";
   // time when the test starts execution
   const TIME_NOW = (new Date()).getTime();
 
   // utility function to compute past timestamp
@@ -134,27 +137,27 @@ add_task(function* placesMessages_reques
   let tabOptions = {
     gBrowser,
     url: testURL
   };
 
   let placesResponseAck = new Promise(resolve => {
     NewTabWebChannel.once("numItemsAck", (_, msg) => {
       ok(true, "a request response has been received");
-      is(msg.data, visits.length + 1, "received an expect number of history items");
+      is(msg.data, visits.length + 1, "received an expected number of history items");
       resolve();
     });
   });
 
   yield BrowserTestUtils.withNewTab(tabOptions, function*() {
     yield placesResponseAck;
+    ok(true, "a change response has been received");
     let placesChangeAck = new Promise(resolve => {
       NewTabWebChannel.once("clearHistoryAck", (_, msg) => {
-        ok(true, "a change response has been received");
         is(msg.data, "clearHistory", "a clear history message has been received");
         resolve();
       });
     });
     yield PlacesTestUtils.clearHistory();
     yield placesChangeAck;
   });
-  cleanup();
+  yield cleanup();
 });