diff options
Diffstat (limited to 'toolkit/components/places/tests/bookmarks/test_bookmarks_search.js')
-rw-r--r-- | toolkit/components/places/tests/bookmarks/test_bookmarks_search.js | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/toolkit/components/places/tests/bookmarks/test_bookmarks_search.js b/toolkit/components/places/tests/bookmarks/test_bookmarks_search.js deleted file mode 100644 index 02f7c5460..000000000 --- a/toolkit/components/places/tests/bookmarks/test_bookmarks_search.js +++ /dev/null @@ -1,223 +0,0 @@ -add_task(function* invalid_input_throws() { - Assert.throws(() => PlacesUtils.bookmarks.search(), - /Query object is required/); - Assert.throws(() => PlacesUtils.bookmarks.search(null), - /Query object is required/); - Assert.throws(() => PlacesUtils.bookmarks.search({title: 50}), - /Title option must be a string/); - Assert.throws(() => PlacesUtils.bookmarks.search({url: {url: "wombat"}}), - /Url option must be a string or a URL object/); - Assert.throws(() => PlacesUtils.bookmarks.search(50), - /Query must be an object or a string/); - Assert.throws(() => PlacesUtils.bookmarks.search(true), - /Query must be an object or a string/); -}); - -add_task(function* search_bookmark() { - yield PlacesUtils.bookmarks.eraseEverything(); - - let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.com/", - title: "a bookmark" }); - let bm2 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/", - title: "another bookmark" }); - let bm3 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.menuGuid, - url: "http://menu.org/", - title: "an on-menu bookmark" }); - let bm4 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.toolbarGuid, - url: "http://toolbar.org/", - title: "an on-toolbar bookmark" }); - checkBookmarkObject(bm1); - checkBookmarkObject(bm2); - checkBookmarkObject(bm3); - checkBookmarkObject(bm4); - - // finds a result by query - let results = yield PlacesUtils.bookmarks.search("example.com"); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm1, results[0]); - - // finds multiple results - results = yield PlacesUtils.bookmarks.search("example"); - Assert.equal(results.length, 2); - checkBookmarkObject(results[0]); - checkBookmarkObject(results[1]); - - // finds menu bookmarks - results = yield PlacesUtils.bookmarks.search("an on-menu bookmark"); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm3, results[0]); - - // finds toolbar bookmarks - results = yield PlacesUtils.bookmarks.search("an on-toolbar bookmark"); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm4, results[0]); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - -add_task(function* search_bookmark_by_query_object() { - let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.com/", - title: "a bookmark" }); - let bm2 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/", - title: "another bookmark" }); - checkBookmarkObject(bm1); - checkBookmarkObject(bm2); - - let results = yield PlacesUtils.bookmarks.search({query: "example.com"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - - Assert.deepEqual(bm1, results[0]); - - results = yield PlacesUtils.bookmarks.search({query: "example"}); - Assert.equal(results.length, 2); - checkBookmarkObject(results[0]); - checkBookmarkObject(results[1]); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - -add_task(function* search_bookmark_by_url() { - let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.com/", - title: "a bookmark" }); - let bm2 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/path", - title: "another bookmark" }); - let bm3 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/path", - title: "third bookmark" }); - checkBookmarkObject(bm1); - checkBookmarkObject(bm2); - checkBookmarkObject(bm3); - - // finds the correct result by url - let results = yield PlacesUtils.bookmarks.search({url: "http://example.com/"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm1, results[0]); - - // normalizes the url - results = yield PlacesUtils.bookmarks.search({url: "http:/example.com"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm1, results[0]); - - // returns multiple matches - results = yield PlacesUtils.bookmarks.search({url: "http://example.org/path"}); - Assert.equal(results.length, 2); - - // requires exact match - results = yield PlacesUtils.bookmarks.search({url: "http://example.org/"}); - Assert.equal(results.length, 0); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - -add_task(function* search_bookmark_by_title() { - let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.com/", - title: "a bookmark" }); - let bm2 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/path", - title: "another bookmark" }); - let bm3 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.net/", - title: "another bookmark" }); - checkBookmarkObject(bm1); - checkBookmarkObject(bm2); - checkBookmarkObject(bm3); - - // finds the correct result by title - let results = yield PlacesUtils.bookmarks.search({title: "a bookmark"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm1, results[0]); - - // returns multiple matches - results = yield PlacesUtils.bookmarks.search({title: "another bookmark"}); - Assert.equal(results.length, 2); - - // requires exact match - results = yield PlacesUtils.bookmarks.search({title: "bookmark"}); - Assert.equal(results.length, 0); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - -add_task(function* search_bookmark_combinations() { - let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.com/", - title: "a bookmark" }); - let bm2 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.org/path", - title: "another bookmark" }); - let bm3 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid, - url: "http://example.net/", - title: "third bookmark" }); - checkBookmarkObject(bm1); - checkBookmarkObject(bm2); - checkBookmarkObject(bm3); - - // finds the correct result if title and url match - let results = yield PlacesUtils.bookmarks.search({url: "http://example.com/", title: "a bookmark"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm1, results[0]); - - // does not match if query is not matching but url and title match - results = yield PlacesUtils.bookmarks.search({url: "http://example.com/", title: "a bookmark", query: "nonexistent"}); - Assert.equal(results.length, 0); - - // does not match if one parameter is not matching - results = yield PlacesUtils.bookmarks.search({url: "http://what.ever", title: "a bookmark"}); - Assert.equal(results.length, 0); - - // query only matches if other fields match as well - results = yield PlacesUtils.bookmarks.search({query: "bookmark", url: "http://example.net/"}); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm3, results[0]); - - // non-matching query will also return no results - results = yield PlacesUtils.bookmarks.search({query: "nonexistent", url: "http://example.net/"}); - Assert.equal(results.length, 0); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - -add_task(function* search_folder() { - let folder = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.menuGuid, - type: PlacesUtils.bookmarks.TYPE_FOLDER, - title: "a test folder" }); - let bm = yield PlacesUtils.bookmarks.insert({ parentGuid: folder.guid, - url: "http://example.com/", - title: "a bookmark" }); - checkBookmarkObject(folder); - checkBookmarkObject(bm); - - // also finds folders - let results = yield PlacesUtils.bookmarks.search("a test folder"); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.equal(folder.title, results[0].title); - Assert.equal(folder.type, results[0].type); - Assert.equal(folder.parentGuid, results[0].parentGuid); - - // finds elements in folders - results = yield PlacesUtils.bookmarks.search("example.com"); - Assert.equal(results.length, 1); - checkBookmarkObject(results[0]); - Assert.deepEqual(bm, results[0]); - Assert.equal(folder.guid, results[0].parentGuid); - - yield PlacesUtils.bookmarks.eraseEverything(); -}); - |