fune/browser/base/content/test/newtab/browser_newtab_disable.js

48 lines
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/*
* These tests make sure that the 'New Tab Page' feature can be disabled if the
* decides not to use it.
*/
add_task(async function() {
// create a new tab page and hide it.
await setLinks("0,1,2,3,4,5,6,7,8");
setPinnedLinks("");
let firstTab = await addNewTabPageTab();
function isGridDisabled(browser = gBrowser.selectedBrowser) {
return ContentTask.spawn(browser, {}, async function() {
return content.gGrid.node.hasAttribute("page-disabled");
});
}
let isDisabled = await isGridDisabled();
ok(!isDisabled, "page is not disabled");
NewTabUtils.allPages.enabled = false;
isDisabled = await isGridDisabled();
ok(isDisabled, "page is disabled");
// create a second new tab page and make sure it's disabled. enable it
// again and check if the former page gets enabled as well.
await addNewTabPageTab();
isDisabled = await isGridDisabled(firstTab.linkedBrowser);
ok(isDisabled, "page is disabled");
// check that no sites have been rendered
await ContentTask.spawn(gBrowser.selectedBrowser, {}, async function() {
Assert.equal(content.document.querySelectorAll(".site").length, 0,
"no sites have been rendered");
});
NewTabUtils.allPages.enabled = true;
isDisabled = await isGridDisabled();
ok(!isDisabled, "page is not disabled");
isDisabled = await isGridDisabled(firstTab.linkedBrowser);
ok(!isDisabled, "old page is not disabled");
});