summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js
blob: be6b4ad6694571d1fb5074633c2a886519d16e51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Bug 1192692 - promiseBookmarksTree caches items without adding observers to
// invalidate the cache.
add_task(async function boookmarks_tree_cache() {
  // Note that for this test to be effective, it needs to use the "old" sync
  // bookmarks methods - using, eg, PlacesUtils.bookmarks.insert() doesn't
  // demonstrate the problem as it indirectly arranges for the observers to
  // be added.
  let id = PlacesUtils.bookmarks.insertBookmark(
    await PlacesUtils.promiseItemId(PlacesUtils.bookmarks.unfiledGuid),
    uri("http://example.com"),
    PlacesUtils.bookmarks.DEFAULT_INDEX,
    "A title"
  );

  await PlacesUtils.promiseBookmarksTree();

  PlacesUtils.bookmarks.removeItem(id);

  await Assert.rejects(
    PlacesUtils.promiseItemGuid(id),
    /no item found for the given itemId/
  );
});