Bug 1323938 - test that install reason is passed to shutdown method for temporary installs r?aswan draft
authorRobert Helmer <rhelmer@mozilla.com>
Tue, 07 Mar 2017 22:57:59 -0800
changeset 495675 ffe03e09b0c80e16e18e5e02f86da63b2d0fa0c0
parent 495674 99eb3a665cb719adcff99b78aa8f4e8f11c2e318
child 548440 9f52fb5fd6b7dc66ef6d7f6908830362227c18ee
push id48402
push userrhelmer@mozilla.com
push dateThu, 09 Mar 2017 05:25:12 +0000
reviewersaswan
bugs1323938
milestone55.0a1
Bug 1323938 - test that install reason is passed to shutdown method for temporary installs r?aswan MozReview-Commit-ID: nhxYdUmNCn
toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
--- a/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_temporary.js
@@ -485,21 +485,26 @@ add_task(function*() {
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
   // Increment the version number, re-install it, and make sure it
   // gets marked as an upgrade.
   writeInstallRDFToDir(Object.assign({}, sampleRDFManifest, {
     version: "2.0"
   }), tempdir, "bootstrap1@tests.mozilla.org");
 
+  const onShutdown = waitForBootstrapEvent("shutdown", ID);
   const onUninstall = waitForBootstrapEvent("uninstall", ID);
   const onInstall = waitForBootstrapEvent("install", ID);
   const onStartup = waitForBootstrapEvent("startup", ID);
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
+  const shutdown = yield onShutdown;
+  equal(shutdown.data.version, "1.0");
+  equal(shutdown.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
+
   const uninstall = yield onUninstall;
   equal(uninstall.data.version, "1.0");
   equal(uninstall.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
 
   const install = yield onInstall;
   equal(install.data.version, "2.0");
   equal(install.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
 
@@ -530,21 +535,26 @@ add_task(function*() {
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
   // Decrement the version number, re-install, and make sure
   // it gets marked as a downgrade.
   writeInstallRDFToDir(Object.assign({}, sampleRDFManifest, {
     version: "0.8"
   }), tempdir, "bootstrap1@tests.mozilla.org");
 
+  const onShutdown = waitForBootstrapEvent("shutdown", ID);
   const onUninstall = waitForBootstrapEvent("uninstall", ID);
   const onInstall = waitForBootstrapEvent("install", ID);
   const onStartup = waitForBootstrapEvent("startup", ID);
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
+  const shutdown = yield onShutdown;
+  equal(shutdown.data.version, "1.0");
+  equal(shutdown.reason, BOOTSTRAP_REASONS.ADDON_DOWNGRADE);
+
   const uninstall = yield onUninstall;
   equal(uninstall.data.version, "1.0");
   equal(uninstall.reason, BOOTSTRAP_REASONS.ADDON_DOWNGRADE);
 
   const install = yield onInstall;
   equal(install.data.version, "0.8");
   equal(install.reason, BOOTSTRAP_REASONS.ADDON_DOWNGRADE);
 
@@ -583,21 +593,26 @@ add_task(function*() {
   const initialStartup = yield onInitialStartup;
   equal(initialStartup.data.version, "1.0");
   equal(initialStartup.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
 
   let info = BootstrapMonitor.started.get(ID);
   do_check_eq(info.reason, BOOTSTRAP_REASONS.ADDON_INSTALL);
 
   // Install it again.
+  const onShutdown = waitForBootstrapEvent("shutdown", ID);
   const onUninstall = waitForBootstrapEvent("uninstall", ID);
   const onInstall = waitForBootstrapEvent("install", ID);
   const onStartup = waitForBootstrapEvent("startup", ID);
   yield AddonManager.installTemporaryAddon(unpackedAddon);
 
+  const shutdown = yield onShutdown;
+  equal(shutdown.data.version, "1.0");
+  equal(shutdown.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
+
   const uninstall = yield onUninstall;
   equal(uninstall.data.version, "1.0");
   equal(uninstall.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);
 
   const reInstall = yield onInstall;
   equal(reInstall.data.version, "1.0");
   equal(reInstall.reason, BOOTSTRAP_REASONS.ADDON_UPGRADE);