gecko/toolkit/mozapps/extensions/test/browser/browser_discovery.js

85 lines
2.7 KiB
JavaScript
Raw Normal View History

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
// Tests that the discovery view loads properly
const PREF_DISCOVERURL = "extensions.webservice.discoverURL";
var gManagerWindow;
var gCategoryUtilities;
function test() {
// Switch to a known url
Services.prefs.setCharPref(PREF_DISCOVERURL, TESTROOT + "releaseNotes.xhtml");
waitForExplicitFinish();
run_next_test();
}
function end_test() {
finish();
}
function getURL(browser) {
var url = browser.currentURI.spec;
var pos = url.indexOf("#");
if (pos != -1)
return url.substring(0, pos);
return url;
}
// Tests that switching to the discovery view displays the right url
add_test(function() {
open_manager("addons://list/extension", function(aWindow) {
gManagerWindow = aWindow;
gCategoryUtilities = new CategoryUtilities(gManagerWindow);
gCategoryUtilities.openType("discover", function() {
var browser = gManagerWindow.document.getElementById("discover-browser");
is(getURL(browser), TESTROOT + "releaseNotes.xhtml", "Should have loaded the right url");
close_manager(gManagerWindow, run_next_test);
});
});
});
// Tests that loading the add-ons manager with the discovery view as the last
// selected view displays the right url
add_test(function() {
open_manager(null, function(aWindow) {
gManagerWindow = aWindow;
gCategoryUtilities = new CategoryUtilities(gManagerWindow);
is(gCategoryUtilities.selectedCategory, "discover", "Should have loaded the right view");
var browser = gManagerWindow.document.getElementById("discover-browser");
is(getURL(browser), TESTROOT + "releaseNotes.xhtml", "Should have loaded the right url");
close_manager(gManagerWindow, run_next_test);
});
});
// Tests that loading the add-ons manager with the discovery view as the initial
// view displays the right url
add_test(function() {
open_manager(null, function(aWindow) {
gManagerWindow = aWindow;
gCategoryUtilities = new CategoryUtilities(gManagerWindow);
gCategoryUtilities.openType("extension", function() {
close_manager(gManagerWindow, function() {
open_manager("addons://discover/", function(aWindow) {
gManagerWindow = aWindow;
gCategoryUtilities = new CategoryUtilities(gManagerWindow);
is(gCategoryUtilities.selectedCategory, "discover", "Should have loaded the right view");
var browser = gManagerWindow.document.getElementById("discover-browser");
is(getURL(browser), TESTROOT + "releaseNotes.xhtml", "Should have loaded the right url");
close_manager(gManagerWindow, run_next_test);
});
});
});
});
});