diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_update_compatmode.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_update_compatmode.js | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_update_compatmode.js b/toolkit/mozapps/webextensions/test/xpcshell/test_update_compatmode.js deleted file mode 100644 index a1d872009..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_update_compatmode.js +++ /dev/null @@ -1,184 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// This verifies that add-on update check correctly fills in the -// %COMPATIBILITY_MODE% token in the update URL. - - -// The test extension uses an insecure update url. -Services.prefs.setBoolPref(PREF_EM_CHECK_UPDATE_SECURITY, false); - -Components.utils.import("resource://testing-common/httpd.js"); -var testserver = new HttpServer(); -testserver.start(-1); -gPort = testserver.identity.primaryPort; -mapFile("/data/test_updatecompatmode_ignore.rdf", testserver); -mapFile("/data/test_updatecompatmode_normal.rdf", testserver); -mapFile("/data/test_updatecompatmode_strict.rdf", testserver); -testserver.registerDirectory("/addons/", do_get_file("addons")); - -const profileDir = gProfD.clone(); -profileDir.append("extensions"); - -function run_test() { - do_test_pending(); - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); - - writeInstallRDFForExtension({ - id: "compatmode-normal@tests.mozilla.org", - version: "1.0", - updateURL: "http://localhost:" + gPort + "/data/test_updatecompatmode_%COMPATIBILITY_MODE%.rdf", - targetApplications: [{ - id: "xpcshell@tests.mozilla.org", - minVersion: "1", - maxVersion: "1" - }], - name: "Test Addon - normal" - }, profileDir); - - writeInstallRDFForExtension({ - id: "compatmode-strict@tests.mozilla.org", - version: "1.0", - updateURL: "http://localhost:" + gPort + "/data/test_updatecompatmode_%COMPATIBILITY_MODE%.rdf", - targetApplications: [{ - id: "xpcshell@tests.mozilla.org", - minVersion: "1", - maxVersion: "1" - }], - name: "Test Addon - strict" - }, profileDir); - - writeInstallRDFForExtension({ - id: "compatmode-strict-optin@tests.mozilla.org", - version: "1.0", - updateURL: "http://localhost:" + gPort + "/data/test_updatecompatmode_%COMPATIBILITY_MODE%.rdf", - targetApplications: [{ - id: "xpcshell@tests.mozilla.org", - minVersion: "1", - maxVersion: "1" - }], - name: "Test Addon - strict opt-in", - strictCompatibility: true - }, profileDir); - - writeInstallRDFForExtension({ - id: "compatmode-ignore@tests.mozilla.org", - version: "1.0", - updateURL: "http://localhost:" + gPort + "/data/test_updatecompatmode_%COMPATIBILITY_MODE%.rdf", - targetApplications: [{ - id: "xpcshell@tests.mozilla.org", - minVersion: "1", - maxVersion: "1" - }], - name: "Test Addon - ignore", - }, profileDir); - - startupManager(); - run_test_1(); -} - -function end_test() { - testserver.stop(do_test_finished); -} - - -// Strict compatibility checking disabled. -function run_test_1() { - do_print("Testing with strict compatibility checking disabled"); - Services.prefs.setBoolPref(PREF_EM_STRICT_COMPATIBILITY, false); - AddonManager.getAddonByID("compatmode-normal@tests.mozilla.org", function(addon) { - do_check_neq(addon, null); - addon.findUpdates({ - onCompatibilityUpdateAvailable: function() { - do_throw("Should have not have seen compatibility information"); - }, - - onNoUpdateAvailable: function() { - do_throw("Should have seen an available update"); - }, - - onUpdateAvailable: function(unused, install) { - do_check_eq(install.version, "2.0") - }, - - onUpdateFinished: function() { - run_test_2(); - } - }, AddonManager.UPDATE_WHEN_USER_REQUESTED); - }); -} - -// Strict compatibility checking enabled. -function run_test_2() { - do_print("Testing with strict compatibility checking enabled"); - Services.prefs.setBoolPref(PREF_EM_STRICT_COMPATIBILITY, true); - AddonManager.getAddonByID("compatmode-strict@tests.mozilla.org", function(addon) { - do_check_neq(addon, null); - addon.findUpdates({ - onCompatibilityUpdateAvailable: function() { - do_throw("Should have not have seen compatibility information"); - }, - - onNoUpdateAvailable: function() { - do_throw("Should have seen an available update"); - }, - - onUpdateAvailable: function(unused, install) { - do_check_eq(install.version, "2.0") - }, - - onUpdateFinished: function() { - run_test_3(); - } - }, AddonManager.UPDATE_WHEN_USER_REQUESTED); - }); -} - -// Strict compatibility checking opt-in. -function run_test_3() { - do_print("Testing with strict compatibility disabled, but addon opt-in"); - Services.prefs.setBoolPref(PREF_EM_STRICT_COMPATIBILITY, false); - AddonManager.getAddonByID("compatmode-strict-optin@tests.mozilla.org", function(addon) { - do_check_neq(addon, null); - addon.findUpdates({ - onCompatibilityUpdateAvailable: function() { - do_throw("Should have not have seen compatibility information"); - }, - - onUpdateAvailable: function() { - do_throw("Should not have seen an available update"); - }, - - onUpdateFinished: function() { - run_test_4(); - } - }, AddonManager.UPDATE_WHEN_USER_REQUESTED); - }); -} - -// Compatibility checking disabled. -function run_test_4() { - do_print("Testing with all compatibility checking disabled"); - AddonManager.checkCompatibility = false; - AddonManager.getAddonByID("compatmode-ignore@tests.mozilla.org", function(addon) { - do_check_neq(addon, null); - addon.findUpdates({ - onCompatibilityUpdateAvailable: function() { - do_throw("Should have not have seen compatibility information"); - }, - - onNoUpdateAvailable: function() { - do_throw("Should have seen an available update"); - }, - - onUpdateAvailable: function(unused, install) { - do_check_eq(install.version, "2.0") - }, - - onUpdateFinished: function() { - end_test(); - } - }, AddonManager.UPDATE_WHEN_USER_REQUESTED); - }); -} |