diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_seen.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_seen.js | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_seen.js b/toolkit/mozapps/webextensions/test/xpcshell/test_seen.js deleted file mode 100644 index e499e7339..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_seen.js +++ /dev/null @@ -1,211 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -const ID = "bootstrap1@tests.mozilla.org"; - -let profileDir = gProfD.clone(); -profileDir.append("extensions"); - -createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); -startupManager(); - -// By default disable add-ons from the profile -Services.prefs.setIntPref("extensions.autoDisableScopes", AddonManager.SCOPE_PROFILE); - -// Installing an add-on through the API should mark it as seen -add_task(function*() { - let install = yield new Promise(resolve => AddonManager.getInstallForFile(do_get_addon("test_bootstrap1_1"), resolve)); - yield promiseCompleteAllInstalls([install]); - do_check_eq(install.state, AddonManager.STATE_INSTALLED); - do_check_false(hasFlag(install.addon.pendingOperations, AddonManager.PENDING_INSTALL)); - - let addon = install.addon; - do_check_eq(addon.version, "1.0"); - do_check_false(addon.foreignInstall); - do_check_true(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_false(addon.foreignInstall); - do_check_true(addon.seen); - - // Installing an update should retain that - install = yield new Promise(resolve => AddonManager.getInstallForFile(do_get_addon("test_bootstrap1_2"), resolve)); - yield promiseCompleteAllInstalls([install]); - do_check_eq(install.state, AddonManager.STATE_INSTALLED); - do_check_false(hasFlag(install.addon.pendingOperations, AddonManager.PENDING_INSTALL)); - - addon = install.addon; - do_check_eq(addon.version, "2.0"); - do_check_false(addon.foreignInstall); - do_check_true(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_false(addon.foreignInstall); - do_check_true(addon.seen); - - addon.uninstall(); - yield promiseShutdownManager(); -}); - -// Sideloading an add-on should mark it as unseen -add_task(function*() { - let path = manuallyInstall(do_get_addon("test_bootstrap1_1"), profileDir, ID); - // Make sure the startup code will detect sideloaded updates - setExtensionModifiedTime(path, Date.now() - 10000); - - startupManager(); - - let addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "1.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - yield promiseShutdownManager(); - - // Sideloading an update shouldn't change the state - manuallyUninstall(profileDir, ID); - manuallyInstall(do_get_addon("test_bootstrap1_2"), profileDir, ID); - setExtensionModifiedTime(path, Date.now()); - - startupManager(); - - addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "2.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - addon.uninstall(); - yield promiseShutdownManager(); -}); - -// Sideloading an add-on should mark it as unseen -add_task(function*() { - let path = manuallyInstall(do_get_addon("test_bootstrap1_1"), profileDir, ID); - // Make sure the startup code will detect sideloaded updates - setExtensionModifiedTime(path, Date.now() - 10000); - - startupManager(); - - let addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "1.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - // Updating through the API shouldn't change the state - let install = yield new Promise(resolve => AddonManager.getInstallForFile(do_get_addon("test_bootstrap1_2"), resolve)); - yield promiseCompleteAllInstalls([install]); - do_check_eq(install.state, AddonManager.STATE_INSTALLED); - do_check_false(hasFlag(install.addon.pendingOperations, AddonManager.PENDING_INSTALL)); - - addon = install.addon; - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "2.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - - addon.uninstall(); - yield promiseShutdownManager(); -}); - -// Sideloading an add-on should mark it as unseen -add_task(function*() { - let path = manuallyInstall(do_get_addon("test_bootstrap1_1"), profileDir, ID); - // Make sure the startup code will detect sideloaded updates - setExtensionModifiedTime(path, Date.now() - 10000); - - startupManager(); - - let addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "1.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - addon.markAsSeen(); - do_check_true(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_true(addon.foreignInstall); - do_check_true(addon.seen); - - yield promiseShutdownManager(); - - // Sideloading an update shouldn't change the state - manuallyUninstall(profileDir, ID); - manuallyInstall(do_get_addon("test_bootstrap1_2"), profileDir, ID); - setExtensionModifiedTime(path, Date.now()); - - startupManager(); - - addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "2.0"); - do_check_true(addon.foreignInstall); - do_check_true(addon.seen); - - addon.uninstall(); - yield promiseShutdownManager(); -}); - -// Sideloading an add-on should mark it as unseen -add_task(function*() { - let path = manuallyInstall(do_get_addon("test_bootstrap1_1"), profileDir, ID); - // Make sure the startup code will detect sideloaded updates - setExtensionModifiedTime(path, Date.now() - 10000); - - startupManager(); - - let addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "1.0"); - do_check_true(addon.foreignInstall); - do_check_false(addon.seen); - addon.markAsSeen(); - do_check_true(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_true(addon.foreignInstall); - do_check_true(addon.seen); - - // Updating through the API shouldn't change the state - let install = yield new Promise(resolve => AddonManager.getInstallForFile(do_get_addon("test_bootstrap1_2"), resolve)); - yield promiseCompleteAllInstalls([install]); - do_check_eq(install.state, AddonManager.STATE_INSTALLED); - do_check_false(hasFlag(install.addon.pendingOperations, AddonManager.PENDING_INSTALL)); - - addon = install.addon; - do_check_true(addon.foreignInstall); - do_check_true(addon.seen); - - yield promiseRestartManager(); - - addon = yield promiseAddonByID(ID); - do_check_eq(addon.version, "2.0"); - do_check_true(addon.foreignInstall); - do_check_true(addon.seen); - - addon.uninstall(); - yield promiseShutdownManager(); -}); |