fune/browser/base/content/test/about/browser_aboutHome_input.js
Ursula Sarracini 5cc71c5ceb Bug 1400326 - Preparing existing about:home for 57 if we decide not to ship activity stream on it r=k88hudson,Mardak
MozReview-Commit-ID: IprIOuZQJxL

--HG--
extra : rebase_source : 98eeb2852dea7f4a2bd2a2d261bd6bbb16fd4d3f
2017-10-06 17:20:11 -04:00

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'.");
});
});
});