summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/bookmarks/test_675416.js
blob: 08b1c36205d41d818746cd4e606c113d81d1ddca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

function run_test() {
  /**
   * Requests information to the service, so that bookmark's data is cached.
   * @param aItemId
   *        Id of the bookmark to be cached.
   */
  function forceBookmarkCaching(aItemId) {
    PlacesUtils.bookmarks.getFolderIdForItem(aItemId);
  }

  let observer = {
    onBeginUpdateBatch: () => forceBookmarkCaching(itemId1),
    onEndUpdateBatch: () => forceBookmarkCaching(itemId1),
    onItemAdded: forceBookmarkCaching,
    onItemChanged: forceBookmarkCaching,
    onItemMoved: forceBookmarkCaching,
    onItemRemoved: function(id) {
      try {
        forceBookmarkCaching(id);
        do_throw("trying to fetch a removed bookmark should throw");
      } catch (ex) {}
    },
    onItemVisited: forceBookmarkCaching,
    QueryInterface: XPCOMUtils.generateQI([Ci.nsINavBookmarkObserver])
  };
  PlacesUtils.bookmarks.addObserver(observer, false);

  let folderId1 = PlacesUtils.bookmarks
                             .createFolder(PlacesUtils.bookmarksMenuFolderId,
                                           "Bookmarks",
                                           PlacesUtils.bookmarks.DEFAULT_INDEX);
  let itemId1 = PlacesUtils.bookmarks
                           .insertBookmark(folderId1,
                                           NetUtil.newURI("http:/www.wired.com/wiredscience"),
                                           PlacesUtils.bookmarks.DEFAULT_INDEX,
                                           "Wired Science");

  PlacesUtils.bookmarks.removeItem(folderId1);

  let folderId2 = PlacesUtils.bookmarks
                             .createFolder(PlacesUtils.bookmarksMenuFolderId,
                                           "Science",
                                           PlacesUtils.bookmarks.DEFAULT_INDEX);
  let folderId3 = PlacesUtils.bookmarks
                             .createFolder(folderId2,
                                           "Blogs",
                                           PlacesUtils.bookmarks.DEFAULT_INDEX);
  // Check title is correctly reported.
  do_check_eq(PlacesUtils.bookmarks.getItemTitle(folderId3), "Blogs");
  do_check_eq(PlacesUtils.bookmarks.getItemTitle(folderId2), "Science");

  PlacesUtils.bookmarks.removeObserver(observer, false);
}