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);
+});