fune/browser/base/content/test/about/browser_aboutHome_input.js
Ed Lee e3156bf606 Bug 1399648 - Get browser_aboutHome.js passing on both about:homes with activity stream or not. r=ursula
MozReview-Commit-ID: GtzmDbmSUjH

--HG--
extra : rebase_source : b62d939e325a1aa4d5d34e2501be39b2f0959357
2017-09-13 13:10:23 -07:00

86 lines
3 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],
]});
});
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");
});
});
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");
});
});
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'.");
});
});
});