|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 /** |
|
5 * This file tests PlacesUtils.asyncGetBookmarkIds method. |
|
6 */ |
|
7 |
|
8 const TEST_URL = "http://www.example.com/"; |
|
9 |
|
10 [ |
|
11 |
|
12 function test_no_bookmark() { |
|
13 PlacesUtils.asyncGetBookmarkIds(TEST_URL, (aItemIds, aURI) => { |
|
14 do_check_eq(aItemIds.length, 0); |
|
15 do_check_eq(aURI, TEST_URL); |
|
16 run_next_test(); |
|
17 }); |
|
18 }, |
|
19 |
|
20 function test_one_bookmark_nsIURI() { |
|
21 let uri = NetUtil.newURI(TEST_URL); |
|
22 let itemId = PlacesUtils.bookmarks.insertBookmark( |
|
23 PlacesUtils.unfiledBookmarksFolderId, uri, "test", |
|
24 PlacesUtils.bookmarks.DEFAULT_INDEX |
|
25 ); |
|
26 PlacesUtils.asyncGetBookmarkIds(uri, (aItemIds, aURI) => { |
|
27 do_check_eq(aItemIds.length, 1); |
|
28 do_check_eq(aItemIds[0], itemId); |
|
29 do_check_true(aURI.equals(uri)); |
|
30 PlacesUtils.bookmarks.removeItem(itemId); |
|
31 run_next_test(); |
|
32 }); |
|
33 }, |
|
34 |
|
35 function test_one_bookmark_spec() { |
|
36 let uri = NetUtil.newURI(TEST_URL); |
|
37 let itemId = PlacesUtils.bookmarks.insertBookmark( |
|
38 PlacesUtils.unfiledBookmarksFolderId, uri, "test", |
|
39 PlacesUtils.bookmarks.DEFAULT_INDEX |
|
40 ); |
|
41 PlacesUtils.asyncGetBookmarkIds(TEST_URL, (aItemIds, aURI) => { |
|
42 do_check_eq(aItemIds.length, 1); |
|
43 do_check_eq(aItemIds[0], itemId); |
|
44 do_check_eq(aURI, TEST_URL); |
|
45 PlacesUtils.bookmarks.removeItem(itemId); |
|
46 run_next_test(); |
|
47 }); |
|
48 }, |
|
49 |
|
50 function test_multiple_bookmarks() { |
|
51 let uri = NetUtil.newURI(TEST_URL); |
|
52 let itemIds = []; |
|
53 itemIds.push(PlacesUtils.bookmarks.insertBookmark( |
|
54 PlacesUtils.unfiledBookmarksFolderId, uri, "test", |
|
55 PlacesUtils.bookmarks.DEFAULT_INDEX |
|
56 )); |
|
57 itemIds.push(PlacesUtils.bookmarks.insertBookmark( |
|
58 PlacesUtils.unfiledBookmarksFolderId, uri, "test", |
|
59 PlacesUtils.bookmarks.DEFAULT_INDEX |
|
60 )); |
|
61 PlacesUtils.asyncGetBookmarkIds(uri, (aItemIds, aURI) => { |
|
62 do_check_eq(aItemIds.length, 2); |
|
63 do_check_true(do_compare_arrays(itemIds, aItemIds)); |
|
64 do_check_true(aURI.equals(uri)); |
|
65 itemIds.forEach(PlacesUtils.bookmarks.removeItem); |
|
66 run_next_test(); |
|
67 }); |
|
68 }, |
|
69 |
|
70 function test_cancel() { |
|
71 let pending = PlacesUtils.asyncGetBookmarkIds(TEST_URL, (aItemIds, aURI) => { |
|
72 do_throw("A canceled pending statement should not be invoked"); |
|
73 }); |
|
74 pending.cancel(); |
|
75 PlacesUtils.asyncGetBookmarkIds(TEST_URL, (aItemIds, aURI) => { |
|
76 do_check_eq(aItemIds.length, 0); |
|
77 do_check_eq(aURI, TEST_URL); |
|
78 run_next_test(); |
|
79 }); |
|
80 }, |
|
81 |
|
82 ].forEach(add_test); |
|
83 |
|
84 function run_test() { |
|
85 run_next_test(); |
|
86 } |