summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/test/browser/browser_install.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/webextensions/test/browser/browser_install.js')
-rw-r--r--toolkit/mozapps/webextensions/test/browser/browser_install.js312
1 files changed, 0 insertions, 312 deletions
diff --git a/toolkit/mozapps/webextensions/test/browser/browser_install.js b/toolkit/mozapps/webextensions/test/browser/browser_install.js
deleted file mode 100644
index 880a4624d..000000000
--- a/toolkit/mozapps/webextensions/test/browser/browser_install.js
+++ /dev/null
@@ -1,312 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-// Tests tha installs and undoing installs show up correctly
-
-var gManagerWindow;
-var gCategoryUtilities;
-
-var gApp = document.getElementById("bundle_brand").getString("brandShortName");
-var gSearchCount = 0;
-
-function test() {
- requestLongerTimeout(2);
- waitForExplicitFinish();
-
- // Turn on searching for this test
- Services.prefs.setIntPref(PREF_SEARCH_MAXRESULTS, 15);
- Services.prefs.setCharPref("extensions.getAddons.search.url", TESTROOT + "browser_install.xml");
- // Allow http update checks
- Services.prefs.setBoolPref("extensions.checkUpdateSecurity", false);
-
- open_manager(null, function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- run_next_test();
- });
-}
-
-function end_test() {
- close_manager(gManagerWindow, function() {
- Services.prefs.clearUserPref("extensions.checkUpdateSecurity");
-
- AddonManager.getAddonByID("install1@tests.mozilla.org", function(aAddon) {
- aAddon.uninstall();
- finish();
- });
- });
-}
-
-function get_node(parent, anonid) {
- return parent.ownerDocument.getAnonymousElementByAttribute(parent, "anonid", anonid);
-}
-
-function installAddon(aCallback) {
- AddonManager.getInstallForURL(TESTROOT + "addons/browser_install1_2.xpi",
- function(aInstall) {
- aInstall.addListener({
- onInstallEnded: function() {
- executeSoon(aCallback);
- }
- });
- aInstall.install();
- }, "application/x-xpinstall");
-}
-
-function installUpgrade(aCallback) {
- AddonManager.getAddonByID("install1@tests.mozilla.org", function(aAddon) {
- aAddon.findUpdates({
- onUpdateAvailable: function(aAddon, aInstall) {
- is(get_list_item_count(), 1, "Should be only one item in the list");
-
- aInstall.addListener({
- onDownloadEnded: function() {
- is(get_list_item_count(), 1, "Should be only one item in the list once the update has started");
- },
- onInstallEnded: function() {
- executeSoon(aCallback);
- }
- });
- aInstall.install();
- }
- }, AddonManager.UPDATE_WHEN_USER_REQUESTED);
- });
-}
-
-function cancelInstall(aCallback) {
- AddonManager.getInstallForURL(TESTROOT + "addons/browser_install1_2.xpi",
- function(aInstall) {
- aInstall.addListener({
- onDownloadEnded: function(aInstall) {
- executeSoon(function() {
- aInstall.cancel();
- aCallback();
- });
- return false;
- }
- });
- aInstall.install();
- }, "application/x-xpinstall");
-}
-
-function installSearchResult(aCallback) {
- var searchBox = gManagerWindow.document.getElementById("header-search");
- // Search for something different each time
- searchBox.value = "foo" + gSearchCount;
- gSearchCount++;
-
- EventUtils.synthesizeMouseAtCenter(searchBox, { }, gManagerWindow);
- EventUtils.synthesizeKey("VK_RETURN", { }, gManagerWindow);
-
- wait_for_view_load(gManagerWindow, function() {
- let remote = gManagerWindow.document.getElementById("search-filter-remote")
- EventUtils.synthesizeMouseAtCenter(remote, { }, gManagerWindow);
-
- let item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should see the search result in the list");
-
- let status = get_node(item, "install-status");
- EventUtils.synthesizeMouseAtCenter(get_node(status, "install-remote-btn"), {}, gManagerWindow);
-
- item.mInstall.addListener({
- onInstallEnded: function() {
- executeSoon(aCallback);
- }
- });
- });
-}
-
-function get_list_item_count() {
- return get_test_items_in_list(gManagerWindow).length;
-}
-
-function check_undo_install() {
- is(get_list_item_count(), 1, "Should be only one item in the list");
-
- let item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should see the pending install in the list");
- // Force XBL to apply
- item.clientTop;
- is_element_visible(get_node(item, "pending"), "Pending message should be visible");
- is(get_node(item, "pending").textContent, "Install Tests will be installed after you restart " + gApp + ".", "Pending message should be correct");
-
- EventUtils.synthesizeMouseAtCenter(get_node(item, "undo-btn"), {}, gManagerWindow);
-
- is(get_list_item_count(), 0, "Should be no items in the list");
-
- item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!item, "Should no longer see the pending install");
-}
-
-function check_undo_upgrade() {
- is(get_list_item_count(), 1, "Should be only one item in the list");
-
- let item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should see the pending upgrade in the list");
- // Force XBL to apply
- item.clientTop;
- is_element_visible(get_node(item, "pending"), "Pending message should be visible");
- is(get_node(item, "pending").textContent, "Install Tests will be updated after you restart " + gApp + ".", "Pending message should be correct");
-
- EventUtils.synthesizeMouseAtCenter(get_node(item, "undo-btn"), {}, gManagerWindow);
-
- is(get_list_item_count(), 1, "Should be only one item in the list");
-
- item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should still see installed item in the list");
- is_element_hidden(get_node(item, "pending"), "Pending message should be hidden");
-}
-
-// Install an add-on through the API with the manager open
-add_test(function() {
- gCategoryUtilities.openType("extension", function() {
- installAddon(function() {
- check_undo_install();
- run_next_test();
- });
- });
-});
-
-// Install an add-on with the manager closed then open it
-add_test(function() {
- close_manager(gManagerWindow, function() {
- installAddon(function() {
- open_manager(null, function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- check_undo_install();
- run_next_test();
- });
- });
- });
-});
-
-// Install an add-on through the search page and then undo it
-add_test(function() {
- installSearchResult(function() {
- check_undo_install();
- run_next_test();
- });
-});
-
-// Install an add-on through the search page then switch to the extensions page
-// and then undo it
-add_test(function() {
- installSearchResult(function() {
- gCategoryUtilities.openType("extension", function() {
- check_undo_install();
- run_next_test();
- });
- });
-});
-
-// Install an add-on through the search page then re-open the manager and then
-// undo it
-add_test(function() {
- installSearchResult(function() {
- close_manager(gManagerWindow, function() {
- open_manager("addons://list/extension", function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- check_undo_install();
- run_next_test();
- });
- });
- });
-});
-
-// Cancel an install after download with the manager open
-add_test(function() {
- cancelInstall(function() {
- is(get_list_item_count(), 0, "Should be no items in the list");
-
- run_next_test();
- });
-});
-
-// Cancel an install after download with the manager closed
-add_test(function() {
- close_manager(gManagerWindow, function() {
- cancelInstall(function() {
- open_manager(null, function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- is(get_list_item_count(), 0, "Should be no items in the list");
-
- run_next_test();
- });
- });
- });
-});
-
-// Install an existing add-on for the subsequent tests
-add_test(function() {
- AddonManager.getInstallForURL(TESTROOT + "addons/browser_install1_1.xpi",
- function(aInstall) {
- aInstall.addListener({
- onInstallEnded: run_next_test
- });
- aInstall.install();
- }, "application/x-xpinstall");
-});
-
-// Install an upgrade through the API with the manager open
-add_test(function() {
- installAddon(function() {
- check_undo_upgrade();
- run_next_test();
- });
-});
-
-// Install an upgrade through the API with the manager open
-add_test(function() {
- installUpgrade(function() {
- check_undo_upgrade();
- run_next_test();
- });
-});
-
-// Install an upgrade through the API with the manager closed
-add_test(function() {
- close_manager(gManagerWindow, function() {
- installAddon(function() {
- open_manager(null, function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- check_undo_upgrade();
- run_next_test();
- });
- });
- });
-});
-
-// Cancel an upgrade after download with the manager open
-add_test(function() {
- cancelInstall(function() {
- is(get_list_item_count(), 1, "Should be no items in the list");
- let item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should still see installed item in the list");
- is_element_hidden(get_node(item, "pending"), "Pending message should be hidden");
-
- run_next_test();
- });
-});
-
-// Cancel an upgrade after download with the manager closed
-add_test(function() {
- close_manager(gManagerWindow, function() {
- cancelInstall(function() {
- open_manager(null, function(aWindow) {
- gManagerWindow = aWindow;
- gCategoryUtilities = new CategoryUtilities(gManagerWindow);
- is(get_list_item_count(), 1, "Should be no items in the list");
- let item = get_addon_element(gManagerWindow, "install1@tests.mozilla.org");
- ok(!!item, "Should still see installed item in the list");
- is_element_hidden(get_node(item, "pending"), "Pending message should be hidden");
-
- run_next_test();
- });
- });
- });
-});