Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'android'
- Manifest: toolkit/components/places/tests/favicons/xpcshell.toml
/**
* This file tests that favicons are correctly expired by expireAllFavicons.
*/
"use strict";
add_task(async function test_expireAllFavicons() {
// Add a visited page.
await PlacesTestUtils.addVisits({
uri: TEST_PAGE_URI,
transition: TRANSITION_TYPED,
});
// Set a favicon for our test page.
await setFaviconForPage(TEST_PAGE_URI, SMALLPNG_DATA_URI);
// Add a page with a bookmark.
await PlacesUtils.bookmarks.insert({
parentGuid: PlacesUtils.bookmarks.toolbarGuid,
url: BOOKMARKED_PAGE_URI,
title: "Test bookmark",
});
// Set a favicon for our bookmark.
await setFaviconForPage(BOOKMARKED_PAGE_URI, SMALLPNG_DATA_URI);
// Start expiration only after data has been saved in the database.
let promise = promiseTopicObserved(PlacesUtils.TOPIC_FAVICONS_EXPIRED);
PlacesUtils.favicons.expireAllFavicons();
await promise;
// Check that the favicons for the pages we added were removed.
await promiseFaviconMissingForPage(TEST_PAGE_URI);
await promiseFaviconMissingForPage(BOOKMARKED_PAGE_URI);
});