Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Errors

/* Any copyright is dedicated to the Public Domain.
"use strict";
const HOMEPAGE_PREF = "browser.startup.homepage";
const DEFAULT_HOMEPAGE_URL = "about:home";
add_setup(async function () {
await SpecialPowers.pushPrefEnv({
set: [
["browser.settings-redesign.enabled", true],
["identity.fxaccounts.account.device.name", ""],
],
});
});
add_task(async function test_adding_single_custom_url() {
await SpecialPowers.pushPrefEnv({
set: [[HOMEPAGE_PREF, DEFAULT_HOMEPAGE_URL]],
});
let { win, doc, tab } = await openCustomHomepageSubpage();
let inputControl = await settingControlRenders(
"customHomepageAddUrlInput",
win
);
let mozInput = inputControl.controlEl;
let input = mozInput.inputEl || mozInput;
let addButtonControl = await settingControlRenders(
"customHomepageAddAddressButton",
win
);
let addButton = addButtonControl.controlEl;
input.focus();
EventUtils.sendString("https://example.com", win);
await TestUtils.waitForTick();
addButton.click();
await TestUtils.waitForCondition(
() => Services.prefs.getStringPref(HOMEPAGE_PREF) === "https://example.com",
"Pref should be updated with the new URL"
);
let boxItems = doc.querySelectorAll(
"moz-box-item[data-url='https://example.com']"
);
is(boxItems.length, 1, "URL appears in the list");
await BrowserTestUtils.removeTab(tab);
});