diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/browser/browser_newaddon.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/browser/browser_newaddon.js | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/toolkit/mozapps/webextensions/test/browser/browser_newaddon.js b/toolkit/mozapps/webextensions/test/browser/browser_newaddon.js deleted file mode 100644 index d450828ba..000000000 --- a/toolkit/mozapps/webextensions/test/browser/browser_newaddon.js +++ /dev/null @@ -1,232 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -// Tests the new add-on tab - -var gProvider; - -function loadPage(aURL, aCallback, aBackground = false) { - let tab = gBrowser.addTab(); - if (!aBackground) - gBrowser.selectedTab = tab; - let browser = tab.linkedBrowser; - browser.loadURI(aURL); - browser.addEventListener("AddonDisplayed", function(event) { - browser.removeEventListener("AddonDisplayed", arguments.callee, false); - - aCallback(tab); - }); -} - -function test() { - waitForExplicitFinish(); - - gProvider = new MockProvider(); - - gProvider.createAddons([{ - id: "addon1@tests.mozilla.org", - name: "Test 1", - version: "5.3", - userDisabled: true, - seen: false, - operationsRequiringRestart: AddonManager.OP_NEEDS_RESTART_NONE - }, { - id: "addon2@tests.mozilla.org", - name: "Test 2", - version: "7.1", - creator: "Dave Townsend", - userDisabled: true, - seen: false - }]); - - run_next_test(); -} - -function end_test() { - finish(); -} - -// Tests that ignoring a restartless add-on works -add_test(function() { - loadPage("about:newaddon?id=addon1@tests.mozilla.org", function(aTab) { - var doc = aTab.linkedBrowser.contentDocument; - is(doc.getElementById("name").value, "Test 1 5.3", "Should say the right name"); - - is_element_hidden(doc.getElementById("author"), "Should be no author displayed"); - is_element_hidden(doc.getElementById("location"), "Should be no location displayed"); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) { - ok(aAddon.seen, "Add-on should have been marked as seen"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("continue-button"), - {}, aTab.linkedBrowser.contentWindow); - - is(gBrowser.tabs.length, 1, "Page should have been closed"); - - ok(aAddon.userDisabled, "Add-on should not have been enabled"); - - ok(!aAddon.isActive, "Add-on should not be running"); - - aAddon.seen = false; - run_next_test(); - }); - }); -}); - -// Tests that enabling a restartless add-on works -add_test(function() { - loadPage("about:newaddon?id=addon1@tests.mozilla.org", function(aTab) { - var doc = aTab.linkedBrowser.contentDocument; - is(doc.getElementById("name").value, "Test 1 5.3", "Should say the right name"); - - is_element_hidden(doc.getElementById("author"), "Should be no author displayed"); - is_element_hidden(doc.getElementById("location"), "Should be no location displayed"); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) { - ok(aAddon.seen, "Add-on should have been marked as seen"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("allow"), - {}, aTab.linkedBrowser.contentWindow); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("continue-button"), - {}, aTab.linkedBrowser.contentWindow); - - is(gBrowser.tabs.length, 1, "Page should have been closed"); - - ok(!aAddon.userDisabled, "Add-on should now have been enabled"); - - ok(aAddon.isActive, "Add-on should now be running"); - - aAddon.userDisabled = true; - aAddon.seen = false; - run_next_test(); - }); - }); -}); - -// Tests that ignoring a non-restartless add-on works -add_test(function() { - loadPage("about:newaddon?id=addon2@tests.mozilla.org", function(aTab) { - var doc = aTab.linkedBrowser.contentDocument; - is(doc.getElementById("name").value, "Test 2 7.1", "Should say the right name"); - - is_element_visible(doc.getElementById("author"), "Should be an author displayed"); - is(doc.getElementById("author").value, "By Dave Townsend", "Should have the right author"); - is_element_hidden(doc.getElementById("location"), "Should be no location displayed"); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - AddonManager.getAddonByID("addon2@tests.mozilla.org", function(aAddon) { - ok(aAddon.seen, "Add-on should have been marked as seen"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("continue-button"), - {}, aTab.linkedBrowser.contentWindow); - - is(gBrowser.tabs.length, 1, "Page should have been closed"); - - ok(aAddon.userDisabled, "Add-on should not have been enabled"); - - ok(!aAddon.isActive, "Add-on should not be running"); - - aAddon.seen = false; - run_next_test(); - }); - }); -}); - -// Tests that enabling a non-restartless add-on works -add_test(function() { - loadPage("about:newaddon?id=addon2@tests.mozilla.org", function(aTab) { - var doc = aTab.linkedBrowser.contentDocument; - is(doc.getElementById("name").value, "Test 2 7.1", "Should say the right name"); - - is_element_visible(doc.getElementById("author"), "Should be an author displayed"); - is(doc.getElementById("author").value, "By Dave Townsend", "Should have the right author"); - is_element_hidden(doc.getElementById("location"), "Should be no location displayed"); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - AddonManager.getAddonByID("addon2@tests.mozilla.org", function(aAddon) { - ok(aAddon.seen, "Add-on should have been marked as seen"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("allow"), - {}, aTab.linkedBrowser.contentWindow); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("continue-button"), - {}, aTab.linkedBrowser.contentWindow); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("restartPanel"), - "Should be showing the right buttons"); - - ok(!aAddon.userDisabled, "Add-on should now have been enabled"); - - ok(!aAddon.isActive, "Add-on should not be running"); - - ok(doc.getElementById("allow").disabled, "Should have disabled checkbox"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("cancel-button"), - {}, aTab.linkedBrowser.contentWindow); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - ok(!doc.getElementById("allow").disabled, "Should have enabled checkbox"); - - ok(aAddon.userDisabled, "Add-on should not have been enabled"); - - ok(!aAddon.isActive, "Add-on should not be running"); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("allow"), - {}, aTab.linkedBrowser.contentWindow); - - EventUtils.synthesizeMouseAtCenter(doc.getElementById("continue-button"), - {}, aTab.linkedBrowser.contentWindow); - - ok(aAddon.userDisabled, "Add-on should not have been enabled"); - - ok(!aAddon.isActive, "Add-on should not be running"); - - is(gBrowser.tabs.length, 1, "Page should have been closed"); - - aAddon.seen = false; - run_next_test(); - }); - }); -}); - -// Tests that opening the page in the background doesn't mark as seen -add_test(function() { - loadPage("about:newaddon?id=addon1@tests.mozilla.org", function(aTab) { - var doc = aTab.linkedBrowser.contentDocument; - is(doc.getElementById("name").value, "Test 1 5.3", "Should say the right name"); - - is_element_hidden(doc.getElementById("author"), "Should be no author displayed"); - is_element_hidden(doc.getElementById("location"), "Should be no location displayed"); - - is(doc.getElementById("buttonDeck").selectedPanel, doc.getElementById("continuePanel"), - "Should be showing the right buttons"); - - AddonManager.getAddonByID("addon1@tests.mozilla.org", function(aAddon) { - ok(!aAddon.seen, "Add-on should not have been marked as seen."); - - gBrowser.selectedTab = aTab; - - waitForFocus(function() { - ok(aAddon.seen, "Add-on should have been marked as seen after focusing the tab."); - - gBrowser.removeTab(aTab); - - run_next_test(); - }, aTab.linkedBrowser.contentWindow); - }); - }, true); -}); |