summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/bookmarks/test_protectRoots.js
blob: 0a59f16535af7b50a341ff2b9d4ee022f8bf08cf (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
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

function run_test()
{
  const ROOTS = [
    PlacesUtils.bookmarksMenuFolderId,
    PlacesUtils.toolbarFolderId,
    PlacesUtils.unfiledBookmarksFolderId,
    PlacesUtils.tagsFolderId,
    PlacesUtils.placesRootId,
    PlacesUtils.mobileFolderId,
  ];

  for (let root of ROOTS) {
    do_check_true(PlacesUtils.isRootItem(root));

    try {
      PlacesUtils.bookmarks.removeItem(root);
      do_throw("Trying to remove a root should throw");
    } catch (ex) {}

    try {
      PlacesUtils.bookmarks.moveItem(root, PlacesUtils.placesRootId, 0);
      do_throw("Trying to move a root should throw");
    } catch (ex) {}

    try {
      PlacesUtils.bookmarks.removeFolderChildren(root);
      if (root == PlacesUtils.placesRootId)
        do_throw("Trying to remove children of the main root should throw");
    } catch (ex) {
      if (root != PlacesUtils.placesRootId)
        do_throw("Trying to remove children of other roots should not throw");
    }
  }
}