mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
26 lines
1.2 KiB
JavaScript
26 lines
1.2 KiB
JavaScript
add_task(function* () {
|
|
do_print("Add a bookmark.");
|
|
let bm = yield PlacesUtils.bookmarks.insert({ url: "http://example.com/",
|
|
parentGuid: PlacesUtils.bookmarks.unfiledGuid });
|
|
let id = yield PlacesUtils.promiseItemId(bm.guid);
|
|
Assert.equal((yield PlacesUtils.promiseItemGuid(id)), bm.guid);
|
|
|
|
// Ensure invalidating a non-existent itemId doesn't throw.
|
|
PlacesUtils.invalidateCachedGuidFor(null);
|
|
PlacesUtils.invalidateCachedGuidFor(9999);
|
|
|
|
do_print("Change the GUID.");
|
|
yield PlacesUtils.withConnectionWrapper("test", Task.async(function*(db) {
|
|
yield db.execute("UPDATE moz_bookmarks SET guid = :guid WHERE id = :id",
|
|
{ guid: "123456789012", id});
|
|
}));
|
|
// The cache should still point to the wrong id.
|
|
Assert.equal((yield PlacesUtils.promiseItemGuid(id)), bm.guid);
|
|
|
|
do_print("Invalidate the cache.");
|
|
PlacesUtils.invalidateCachedGuidFor(id);
|
|
Assert.equal((yield PlacesUtils.promiseItemGuid(id)), "123456789012");
|
|
Assert.equal((yield PlacesUtils.promiseItemId("123456789012")), id);
|
|
yield Assert.rejects(PlacesUtils.promiseItemId(bm.guid), /no item found for the given GUID/);
|
|
});
|