forked from mirrors/gecko-dev
MozReview-Commit-ID: IprIOuZQJxL --HG-- extra : rebase_source : 98eeb2852dea7f4a2bd2a2d261bd6bbb16fd4d3f
89 lines
3.2 KiB
JavaScript
89 lines
3.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
XPCOMUtils.defineLazyModuleGetter(this, "AppConstants",
|
|
"resource://gre/modules/AppConstants.jsm");
|
|
|
|
ignoreAllUncaughtExceptions();
|
|
|
|
add_task(async function setup() {
|
|
// The following prefs would affect tests so make sure to disable them
|
|
// before any tests start.
|
|
await SpecialPowers.pushPrefEnv({set: [
|
|
["browser.newtabpage.activity-stream.aboutHome.enabled", false],
|
|
]});
|
|
});
|
|
|
|
// The following two tests need to be skipped for the time being, since we're
|
|
// no longer showing the launcher options on about:home. When we remove about:home
|
|
// and all of it's code, we can delete these tests
|
|
add_task(async function() {
|
|
info("Pressing Space while the Addons button is focused should activate it");
|
|
|
|
// Skip this test on Mac, because Space doesn't activate the button there.
|
|
if (AppConstants.platform == "macosx") {
|
|
return;
|
|
}
|
|
|
|
await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
|
|
info("Waiting for about:addons tab to open...");
|
|
let promiseTabLoaded = BrowserTestUtils.browserLoaded(browser, false, "about:addons");
|
|
|
|
await ContentTask.spawn(browser, null, async function() {
|
|
let addOnsButton = content.document.getElementById("addons");
|
|
addOnsButton.focus();
|
|
});
|
|
await BrowserTestUtils.synthesizeKey(" ", {}, browser);
|
|
|
|
await promiseTabLoaded;
|
|
is(browser.currentURI.spec, "about:addons",
|
|
"Should have seen the about:addons tab");
|
|
});
|
|
}).skip();
|
|
|
|
add_task(async function() {
|
|
info("Sync button should open about:preferences#sync");
|
|
|
|
await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
|
|
let oldOpenPrefs = window.openPreferences;
|
|
let openPrefsPromise = new Promise(resolve => {
|
|
window.openPreferences = function(pane, params) {
|
|
resolve({ pane, params });
|
|
};
|
|
});
|
|
|
|
await BrowserTestUtils.synthesizeMouseAtCenter("#sync", {}, browser);
|
|
|
|
let result = await openPrefsPromise;
|
|
window.openPreferences = oldOpenPrefs;
|
|
|
|
is(result.pane, "paneSync", "openPreferences should be called with paneSync");
|
|
is(result.params.urlParams.entrypoint, "abouthome",
|
|
"openPreferences should be called with abouthome entrypoint");
|
|
});
|
|
}).skip();
|
|
|
|
add_task(async function() {
|
|
info("Pressing any key should focus the search box in the page, and send the key to it");
|
|
|
|
await BrowserTestUtils.withNewTab({ gBrowser, url: "about:home" }, async function(browser) {
|
|
await BrowserTestUtils.synthesizeMouseAtCenter("#brandLogo", {}, browser);
|
|
|
|
await ContentTask.spawn(browser, null, async function() {
|
|
let doc = content.document;
|
|
isnot(doc.getElementById("searchText"), doc.activeElement,
|
|
"Search input should not be the active element.");
|
|
});
|
|
|
|
await BrowserTestUtils.synthesizeKey("a", {}, browser);
|
|
|
|
await ContentTask.spawn(browser, null, async function() {
|
|
let doc = content.document;
|
|
let searchInput = doc.getElementById("searchText");
|
|
await ContentTaskUtils.waitForCondition(() => doc.activeElement === searchInput,
|
|
"Search input should be the active element.");
|
|
is(searchInput.value, "a", "Search input should be 'a'.");
|
|
});
|
|
});
|
|
});
|