diff options
Diffstat (limited to 'toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js')
-rw-r--r-- | toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js b/toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js new file mode 100644 index 0000000000..be6b4ad669 --- /dev/null +++ b/toolkit/components/places/tests/bookmarks/test_bookmarkstree_cache.js @@ -0,0 +1,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/ + ); +}); |