summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/test/browser/browser_update.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/webextensions/test/browser/browser_update.js')
-rw-r--r--toolkit/mozapps/webextensions/test/browser/browser_update.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/toolkit/mozapps/webextensions/test/browser/browser_update.js b/toolkit/mozapps/webextensions/test/browser/browser_update.js
new file mode 100644
index 000000000..09ceb1240
--- /dev/null
+++ b/toolkit/mozapps/webextensions/test/browser/browser_update.js
@@ -0,0 +1,53 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+// Tests that updates correctly flush caches and that new files gets updated.
+
+function test() {
+ requestLongerTimeout(2);
+ waitForExplicitFinish();
+
+ Services.prefs.setBoolPref("extensions.checkUpdateSecurity", false);
+
+ run_next_test();
+}
+
+// Install a first version
+add_test(function() {
+ AddonManager.getInstallForURL(TESTROOT + "addons/browser_update1_1.xpi",
+ function(aInstall) {
+ aInstall.install();
+ }, "application/x-xpinstall");
+
+ Services.ppmm.addMessageListener("my-addon-1", function messageListener() {
+ Services.ppmm.removeMessageListener("my-addon-1", messageListener);
+ ok(true, "first version sent frame script message");
+ run_next_test();
+ });
+});
+
+// Update to a second version and verify that content gets updated
+add_test(function() {
+ AddonManager.getInstallForURL(TESTROOT + "addons/browser_update1_2.xpi",
+ function(aInstall) {
+ aInstall.install();
+ }, "application/x-xpinstall");
+
+ Services.ppmm.addMessageListener("my-addon-2", function messageListener() {
+ Services.ppmm.removeMessageListener("my-addon-2", messageListener);
+ ok(true, "second version sent frame script message");
+ run_next_test();
+ });
+});
+
+// Finally, cleanup things
+add_test(function() {
+ Services.prefs.setBoolPref("xpinstall.signatures.required", true);
+
+ AddonManager.getAddonByID("update1@tests.mozilla.org", function(aAddon) {
+ aAddon.uninstall();
+
+ finish();
+ });
+});