Bug 1449255: Part 16 - Rename test_bug655254 to test_moved_extension_metadata.js. r?aswan draft
authorKris Maglione <maglione.k@gmail.com>
Tue, 27 Mar 2018 16:26:01 -0700
changeset 773485 7ed46a14843e359b3c8eee388d8eff18d75e457d
parent 773484 ea518b3b520ef8950aa90180a9c0f9faf4616cbf
child 773486 1f975b617b0b48ec26b914424baeb0a7454648b8
push id104243
push usermaglione.k@gmail.com
push dateWed, 28 Mar 2018 00:15:32 +0000
reviewersaswan
bugs1449255, 655254
milestone61.0a1
Bug 1449255: Part 16 - Rename test_bug655254 to test_moved_extension_metadata.js. r?aswan MozReview-Commit-ID: ISPgh91V4TT
toolkit/mozapps/extensions/test/xpcshell/test_bug655254.js
toolkit/mozapps/extensions/test/xpcshell/test_moved_extension_metadata.js
toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
rename from toolkit/mozapps/extensions/test/xpcshell/test_bug655254.js
rename to toolkit/mozapps/extensions/test/xpcshell/test_moved_extension_metadata.js
--- a/toolkit/mozapps/extensions/test/xpcshell/test_bug655254.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_moved_extension_metadata.js
@@ -23,18 +23,17 @@ userDir.append(gAppInfo.ID);
 var dirProvider = {
   getFile(aProp, aPersistent) {
     aPersistent.value = false;
     if (aProp == "XREUSysExt")
       return userDir.parent;
     return null;
   },
 
-  QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider,
-                                         Ci.nsISupports])
+  QueryInterface: XPCOMUtils.generateQI([Ci.nsIDirectoryServiceProvider])
 };
 Services.dirsvc.registerProvider(dirProvider);
 
 var addon1 = {
   id: "addon1@tests.mozilla.org",
   version: "1.0",
   name: "Test 1",
   bootstrap: true,
@@ -71,122 +70,101 @@ const ADDONS = [
         Services.prefs.setIntPref("bootstraptest.active_version", 0);
       }
     `
   },
 ];
 
 const XPIS = ADDONS.map(addon => AddonTestUtils.createTempXPIFile(addon));
 
-// Set up the profile
-function run_test() {
-  do_test_pending();
-  run_test_1();
-}
-
-function end_test() {
-  do_test_finished();
-}
-
-async function run_test_1() {
+add_task(async function test_1() {
   var time = Date.now();
   var dir = writeInstallRDFForExtension(addon1, userDir);
   setExtensionModifiedTime(dir, time);
 
   manuallyInstall(XPIS[0], userDir, "addon2@tests.mozilla.org");
 
   await promiseStartupManager();
 
-  AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
-                               "addon2@tests.mozilla.org"], function([a1, a2]) {
-    Assert.notEqual(a1, null);
-    Assert.ok(a1.appDisabled);
-    Assert.ok(!a1.isActive);
-    Assert.ok(!isExtensionInBootstrappedList(userDir, a1.id));
-
-    Assert.notEqual(a2, null);
-    Assert.ok(!a2.appDisabled);
-    Assert.ok(a2.isActive);
-    Assert.ok(isExtensionInBootstrappedList(userDir, a2.id));
-    Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
+  let [a1, a2] = await AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
+                                                    "addon2@tests.mozilla.org"]);
+  Assert.notEqual(a1, null);
+  Assert.ok(a1.appDisabled);
+  Assert.ok(!a1.isActive);
+  Assert.ok(!isExtensionInBootstrappedList(userDir, a1.id));
 
-    a1.findUpdates({
-      async onUpdateFinished() {
-        await promiseRestartManager();
+  Assert.notEqual(a2, null);
+  Assert.ok(!a2.appDisabled);
+  Assert.ok(a2.isActive);
+  Assert.ok(isExtensionInBootstrappedList(userDir, a2.id));
+  Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
+
+  await AddonTestUtils.promiseFindAddonUpdates(a1, AddonManager.UPDATE_WHEN_USER_REQUESTED);
 
-        AddonManager.getAddonByID("addon1@tests.mozilla.org", callback_soon(async function(a1_2) {
-          Assert.notEqual(a1_2, null);
-          Assert.ok(!a1_2.appDisabled);
-          Assert.ok(a1_2.isActive);
-          Assert.ok(isExtensionInBootstrappedList(userDir, a1_2.id));
+  await promiseRestartManager();
 
-          shutdownManager();
-
-          Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
+  let a1_2 = await AddonManager.getAddonByID("addon1@tests.mozilla.org");
+  Assert.notEqual(a1_2, null);
+  Assert.ok(!a1_2.appDisabled);
+  Assert.ok(a1_2.isActive);
+  Assert.ok(isExtensionInBootstrappedList(userDir, a1_2.id));
 
-          userDir.parent.moveTo(gProfD, "extensions3");
-          userDir = gProfD.clone();
-          userDir.append("extensions3");
-          userDir.append(gAppInfo.ID);
-          Assert.ok(userDir.exists());
+  await promiseShutdownManager();
+
+  Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
 
-          await promiseStartupManager(false);
+  userDir.parent.moveTo(gProfD, "extensions3");
+  userDir = gProfD.clone();
+  userDir.append("extensions3");
+  userDir.append(gAppInfo.ID);
+  Assert.ok(userDir.exists());
+
+  await promiseStartupManager(false);
 
-          AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
-                                       "addon2@tests.mozilla.org"], function([a1_3, a2_3]) {
-            Assert.notEqual(a1_3, null);
-            Assert.ok(!a1_3.appDisabled);
-            Assert.ok(a1_3.isActive);
-            Assert.ok(isExtensionInBootstrappedList(userDir, a1_3.id));
+  let [a1_3, a2_3] = await AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
+                                                        "addon2@tests.mozilla.org"]);
+  Assert.notEqual(a1_3, null);
+  Assert.ok(!a1_3.appDisabled);
+  Assert.ok(a1_3.isActive);
+  Assert.ok(isExtensionInBootstrappedList(userDir, a1_3.id));
 
-            Assert.notEqual(a2_3, null);
-            Assert.ok(!a2_3.appDisabled);
-            Assert.ok(a2_3.isActive);
-            Assert.ok(isExtensionInBootstrappedList(userDir, a2_3.id));
-            Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
-
-            executeSoon(run_test_2);
-          });
-        }));
-      }
-    }, AddonManager.UPDATE_WHEN_USER_REQUESTED);
-  });
-}
+  Assert.notEqual(a2_3, null);
+  Assert.ok(!a2_3.appDisabled);
+  Assert.ok(a2_3.isActive);
+  Assert.ok(isExtensionInBootstrappedList(userDir, a2_3.id));
+  Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
+});
 
 // Set up the profile
-function run_test_2() {
-  AddonManager.getAddonByID("addon2@tests.mozilla.org", callback_soon(async function(a2) {
-   Assert.notEqual(a2, null);
-   Assert.ok(!a2.appDisabled);
-   Assert.ok(a2.isActive);
-   Assert.ok(isExtensionInBootstrappedList(userDir, a2.id));
-   Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
+add_task(async function test_2() {
+  let a2 = await AddonManager.getAddonByID("addon2@tests.mozilla.org");
+ Assert.notEqual(a2, null);
+ Assert.ok(!a2.appDisabled);
+ Assert.ok(a2.isActive);
+ Assert.ok(isExtensionInBootstrappedList(userDir, a2.id));
+ Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 1);
 
-   a2.userDisabled = true;
-   Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
-
-   shutdownManager();
+ a2.userDisabled = true;
+ Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
 
-   userDir.parent.moveTo(gProfD, "extensions4");
-   userDir = gProfD.clone();
-   userDir.append("extensions4");
-   userDir.append(gAppInfo.ID);
-   Assert.ok(userDir.exists());
+ await promiseShutdownManager();
 
-   await promiseStartupManager(false);
+ userDir.parent.moveTo(gProfD, "extensions4");
+ userDir = gProfD.clone();
+ userDir.append("extensions4");
+ userDir.append(gAppInfo.ID);
+ Assert.ok(userDir.exists());
 
-   AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
-                                "addon2@tests.mozilla.org"], function([a1_2, a2_2]) {
-     Assert.notEqual(a1_2, null);
-     Assert.ok(!a1_2.appDisabled);
-     Assert.ok(a1_2.isActive);
-     Assert.ok(isExtensionInBootstrappedList(userDir, a1_2.id));
+ await promiseStartupManager(false);
 
-     Assert.notEqual(a2_2, null);
-     Assert.ok(a2_2.userDisabled);
-     Assert.ok(!a2_2.isActive);
-     Assert.ok(!isExtensionInBootstrappedList(userDir, a2_2.id));
-     Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
+ let [a1_2, a2_2] = await AddonManager.getAddonsByIDs(["addon1@tests.mozilla.org",
+                              "addon2@tests.mozilla.org"]);
+ Assert.notEqual(a1_2, null);
+ Assert.ok(!a1_2.appDisabled);
+ Assert.ok(a1_2.isActive);
+ Assert.ok(isExtensionInBootstrappedList(userDir, a1_2.id));
 
-     end_test();
-   });
-  }));
-}
+ Assert.notEqual(a2_2, null);
+ Assert.ok(a2_2.userDisabled);
+ Assert.ok(!a2_2.isActive);
+ Assert.ok(!isExtensionInBootstrappedList(userDir, a2_2.id));
+ Assert.equal(Services.prefs.getIntPref("bootstraptest.active_version"), 0);
+});
--- a/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
+++ b/toolkit/mozapps/extensions/test/xpcshell/xpcshell.ini
@@ -87,18 +87,16 @@ skip-if = os == "win" # Bug 1358846
 [test_bug596607.js]
 [test_bug616841.js]
 # Bug 676992: test consistently fails on Android
 fail-if = os == "android"
 [test_bug619730.js]
 tags = blocklist
 [test_bug620837.js]
 tags = blocklist
-[test_bug655254.js]
-[test_bug675371.js]
 [test_cache_certdb.js]
 run-if = addon_signing
 [test_cacheflush.js]
 [test_childprocess.js]
 [test_compatoverrides.js]
 [test_corrupt.js]
 [test_corruptfile.js]
 [test_crash_annotation_quoting.js]
@@ -172,16 +170,17 @@ skip-if = os == "android"
 [test_legacy.js]
 skip-if = !allow_legacy_extensions || appname == "thunderbird"
 [test_locale.js]
 [test_manifest.js]
 [test_manifest_locales.js]
 # Bug 676992: test consistently hangs on Android
 skip-if = os == "android"
 [test_migrate_state_prefs.js]
+[test_moved_extension_metadata.js]
 [test_no_addons.js]
 [test_nodisable_hidden.js]
 [test_onPropertyChanged_appDisabled.js]
 [test_overrideblocklist.js]
 run-sequentially = Uses global XCurProcD dir.
 tags = blocklist
 [test_pass_symbol.js]
 [test_permissions.js]