Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
// Test whether purge-caches event works collectry when maintenance the places.
add_task(async function test_history() {
await PlacesTestUtils.addVisits({ uri: "http://example.com/" });
await assertPurgingCaches();
});
add_task(async function test_bookmark() {
await PlacesTestUtils.addBookmarkWithDetails({ uri: "http://example.com/" });
await assertPurgingCaches();
});
async function assertPurgingCaches() {
const query = PlacesUtils.history.getNewQuery();
const options = PlacesUtils.history.getNewQueryOptions();
const result = PlacesUtils.history.executeQuery(query, options);
result.root.containerOpen = true;
const onInvalidateContainer = new Promise(resolve => {
const resultObserver = new NavHistoryResultObserver();
resultObserver.invalidateContainer = resolve;
result.addObserver(resultObserver, false);
});
await PlacesDBUtils.maintenanceOnIdle();
await onInvalidateContainer;
ok(true, "InvalidateContainer is called");
}