diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/browser/browser_bug591663.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/browser/browser_bug591663.js | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/toolkit/mozapps/webextensions/test/browser/browser_bug591663.js b/toolkit/mozapps/webextensions/test/browser/browser_bug591663.js deleted file mode 100644 index 4a4f735af2..0000000000 --- a/toolkit/mozapps/webextensions/test/browser/browser_bug591663.js +++ /dev/null @@ -1,161 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// Test that the empty notice in the list view disappears as it should - -// Don't use a standard list view (e.g. "extension") to ensure that the list is -// initially empty. Don't need to worry about the list of categories displayed -// since only the list view itself is tested. -var VIEW_ID = "addons://list/mock-addon"; - -var LIST_ID = "addon-list"; -var EMPTY_ID = "addon-list-empty"; - -var gManagerWindow; -var gProvider; -var gItem; - -var gInstallProperties = { - name: "Bug 591663 Mock Install", - type: "mock-addon" -}; -var gAddonProperties = { - id: "test1@tests.mozilla.org", - name: "Bug 591663 Mock Add-on", - type: "mock-addon" -}; -var gExtensionProperties = { - name: "Bug 591663 Extension Install", - type: "extension" -}; - -function test() { - waitForExplicitFinish(); - - gProvider = new MockProvider(true, [{ - id: "mock-addon", - name: "Mock Add-ons", - uiPriority: 4500, - flags: AddonManager.TYPE_UI_VIEW_LIST - }]); - - open_manager(VIEW_ID, function(aWindow) { - gManagerWindow = aWindow; - run_next_test(); - }); -} - -function end_test() { - close_manager(gManagerWindow, finish); -} - -/** - * Check that the list view is as expected - * - * @param aItem - * The expected item in the list, or null if list should be empty - */ -function check_list(aItem) { - // Check state of the empty notice - let emptyNotice = gManagerWindow.document.getElementById(EMPTY_ID); - ok(emptyNotice != null, "Should have found the empty notice"); - is(!emptyNotice.hidden, (aItem == null), "Empty notice should be showing if list empty"); - - // Check the children of the list - let list = gManagerWindow.document.getElementById(LIST_ID); - is(list.childNodes.length, aItem ? 1 : 0, "Should get expected number of items in list"); - if (aItem != null) { - let itemName = list.firstChild.getAttribute("name"); - is(itemName, aItem.name, "List item should have correct name"); - } -} - - -// Test that the empty notice is showing and no items are showing in list -add_test(function() { - check_list(null); - run_next_test(); -}); - -// Test that a new, non-active, install does not affect the list view -add_test(function() { - gItem = gProvider.createInstalls([gInstallProperties])[0]; - check_list(null); - run_next_test(); -}); - -// Test that onInstallStarted properly hides empty notice and adds install to list -add_test(function() { - gItem.addTestListener({ - onDownloadStarted: function() { - // Install type unknown until download complete - check_list(null); - }, - onInstallStarted: function() { - check_list(gItem); - }, - onInstallEnded: function() { - check_list(gItem); - run_next_test(); - } - }); - - gItem.install(); -}); - -// Test that restarting the manager does not change list -add_test(function() { - restart_manager(gManagerWindow, VIEW_ID, function(aManagerWindow) { - gManagerWindow = aManagerWindow; - check_list(gItem); - run_next_test(); - }); -}); - -// Test that onInstallCancelled removes install and shows empty notice -add_test(function() { - gItem.cancel(); - gItem = null; - check_list(null); - run_next_test(); -}); - -// Test that add-ons of a different type do not show up in the list view -add_test(function() { - let extension = gProvider.createInstalls([gExtensionProperties])[0]; - check_list(null); - - extension.addTestListener({ - onDownloadStarted: function() { - check_list(null); - }, - onInstallStarted: function() { - check_list(null); - }, - onInstallEnded: function() { - check_list(null); - extension.cancel(); - run_next_test(); - } - }); - - extension.install(); -}); - -// Test that onExternalInstall properly hides empty notice and adds install to list -add_test(function() { - gItem = gProvider.createAddons([gAddonProperties])[0]; - check_list(gItem); - run_next_test(); -}); - -// Test that restarting the manager does not change list -add_test(function() { - restart_manager(gManagerWindow, VIEW_ID, function(aManagerWindow) { - gManagerWindow = aManagerWindow; - check_list(gItem); - run_next_test(); - }); -}); - |