summaryrefslogtreecommitdiff
path: root/toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js')
-rw-r--r--toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js b/toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js
new file mode 100644
index 0000000000..bd393b91c4
--- /dev/null
+++ b/toolkit/mozapps/extensions/test/xpcshell/test_bug394300.js
@@ -0,0 +1,56 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+// Disables security checking our updates which haven't been signed
+Services.prefs.setBoolPref("extensions.checkUpdateSecurity", false);
+
+Components.utils.import("resource://testing-common/httpd.js");
+var server;
+
+// nsIAddonUpdateCheckListener implementation
+var updateListener = {
+ _count: 0,
+
+ onUpdateAvailable: function onAddonUpdateEnded(aAddon, aInstall) {
+ do_check_eq(aInstall.version, 10);
+ },
+
+ onNoUpdateAvailable: function onNoUpdateAvailable(aAddon) {
+ do_throw("Expected an available update for " + aAddon.id);
+ },
+
+ onUpdateFinished: function onUpdateFinished() {
+ if (++this._count == 2)
+ server.stop(do_test_finished);
+ },
+}
+
+function run_test()
+{
+ // Setup for test
+ do_test_pending();
+ createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9");
+ startupManager();
+
+ installAllFiles([do_get_addon("test_bug394300_1"),
+ do_get_addon("test_bug394300_2")], function() {
+
+ restartManager();
+
+ AddonManager.getAddonsByIDs(["bug394300_1@tests.mozilla.org",
+ "bug394300_2@tests.mozilla.org"], function(updates) {
+
+ do_check_neq(updates[0], null);
+ do_check_neq(updates[1], null);
+
+ server = new HttpServer();
+ server.registerDirectory("/", do_get_file("data"));
+ server.start(4444);
+
+ updates[0].findUpdates(updateListener, AddonManager.UPDATE_WHEN_USER_REQUESTED);
+ updates[1].findUpdates(updateListener, AddonManager.UPDATE_WHEN_USER_REQUESTED);
+ });
+ });
+}