summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js')
-rw-r--r--toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js310
1 files changed, 0 insertions, 310 deletions
diff --git a/toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js b/toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js
deleted file mode 100644
index 9527f02e6..000000000
--- a/toolkit/components/places/tests/bookmarks/test_bookmarks_fetch.js
+++ /dev/null
@@ -1,310 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-var gAccumulator = {
- get callback() {
- this.results = [];
- return result => this.results.push(result);
- }
-};
-
-add_task(function* invalid_input_throws() {
- Assert.throws(() => PlacesUtils.bookmarks.fetch(),
- /Input should be a valid object/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch(null),
- /Input should be a valid object/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: "123456789012",
- parentGuid: "012345678901" }),
- /The following properties were expected: index/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: "123456789012",
- index: 0 }),
- /The following properties were expected: parentGuid/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({}),
- /Unexpected number of conditions provided: 0/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: "123456789012",
- parentGuid: "012345678901",
- index: 0 }),
- /Unexpected number of conditions provided: 2/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: "123456789012",
- url: "http://example.com"}),
- /Unexpected number of conditions provided: 2/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch("test"),
- /Invalid value for property 'guid'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch(123),
- /Invalid value for property 'guid'/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: "test" }),
- /Invalid value for property 'guid'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: null }),
- /Invalid value for property 'guid'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ guid: 123 }),
- /Invalid value for property 'guid'/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: "test",
- index: 0 }),
- /Invalid value for property 'parentGuid'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: null,
- index: 0 }),
- /Invalid value for property 'parentGuid'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: 123,
- index: 0 }),
- /Invalid value for property 'parentGuid'/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: "123456789012",
- index: "0" }),
- /Invalid value for property 'index'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: "123456789012",
- index: null }),
- /Invalid value for property 'index'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ parentGuid: "123456789012",
- index: -10 }),
- /Invalid value for property 'index'/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ url: "http://te st/" }),
- /Invalid value for property 'url'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ url: null }),
- /Invalid value for property 'url'/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch({ url: -10 }),
- /Invalid value for property 'url'/);
-
- Assert.throws(() => PlacesUtils.bookmarks.fetch("123456789012", "test"),
- /onResult callback must be a valid function/);
- Assert.throws(() => PlacesUtils.bookmarks.fetch("123456789012", {}),
- /onResult callback must be a valid function/);
-});
-
-add_task(function* fetch_nonexistent_guid() {
- let bm = yield PlacesUtils.bookmarks.fetch({ guid: "123456789012" },
- gAccumulator.callback);
- Assert.equal(bm, null);
- Assert.equal(gAccumulator.results.length, 0);
-});
-
-add_task(function* fetch_bookmark() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://example.com/",
- title: "a bookmark" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch(bm1.guid,
- gAccumulator.callback);
- checkBookmarkObject(bm2);
- Assert.equal(gAccumulator.results.length, 1);
- checkBookmarkObject(gAccumulator.results[0]);
- Assert.deepEqual(gAccumulator.results[0], bm1);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.equal(bm2.index, 0);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_BOOKMARK);
- Assert.equal(bm2.url.href, "http://example.com/");
- Assert.equal(bm2.title, "a bookmark");
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_bookmar_empty_title() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://example.com/",
- title: "" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch(bm1.guid);
- checkBookmarkObject(bm2);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.index, 0);
- Assert.ok(!("title" in bm2));
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_folder() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_FOLDER,
- title: "a folder" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch(bm1.guid);
- checkBookmarkObject(bm2);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.equal(bm2.index, 0);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_FOLDER);
- Assert.equal(bm2.title, "a folder");
- Assert.ok(!("url" in bm2));
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_folder_empty_title() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_FOLDER,
- title: "" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch(bm1.guid);
- checkBookmarkObject(bm2);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.index, 0);
- Assert.ok(!("title" in bm2));
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_separator() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_SEPARATOR });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch(bm1.guid);
- checkBookmarkObject(bm2);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.equal(bm2.index, 0);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_SEPARATOR);
- Assert.ok(!("url" in bm2));
- Assert.ok(!("title" in bm2));
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_byposition_nonexisting_parentGuid() {
- let bm = yield PlacesUtils.bookmarks.fetch({ parentGuid: "123456789012",
- index: 0 },
- gAccumulator.callback);
- Assert.equal(bm, null);
- Assert.equal(gAccumulator.results.length, 0);
-});
-
-add_task(function* fetch_byposition_nonexisting_index() {
- let bm = yield PlacesUtils.bookmarks.fetch({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- index: 100 },
- gAccumulator.callback);
- Assert.equal(bm, null);
- Assert.equal(gAccumulator.results.length, 0);
-});
-
-add_task(function* fetch_byposition() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://example.com/",
- title: "a bookmark" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch({ parentGuid: bm1.parentGuid,
- index: bm1.index },
- gAccumulator.callback);
- checkBookmarkObject(bm2);
- Assert.equal(gAccumulator.results.length, 1);
- checkBookmarkObject(gAccumulator.results[0]);
- Assert.deepEqual(gAccumulator.results[0], bm1);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.equal(bm2.index, 0);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_BOOKMARK);
- Assert.equal(bm2.url.href, "http://example.com/");
- Assert.equal(bm2.title, "a bookmark");
-});
-
-add_task(function* fetch_byposition_default_index() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://example.com/last",
- title: "last child" });
- checkBookmarkObject(bm1);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch({ parentGuid: bm1.parentGuid,
- index: PlacesUtils.bookmarks.DEFAULT_INDEX },
- gAccumulator.callback);
- checkBookmarkObject(bm2);
- Assert.equal(gAccumulator.results.length, 1);
- checkBookmarkObject(gAccumulator.results[0]);
- Assert.deepEqual(gAccumulator.results[0], bm1);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.equal(bm2.index, 1);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_BOOKMARK);
- Assert.equal(bm2.url.href, "http://example.com/last");
- Assert.equal(bm2.title, "last child");
-
- yield PlacesUtils.bookmarks.remove(bm1.guid);
-});
-
-add_task(function* fetch_byurl_nonexisting() {
- let bm = yield PlacesUtils.bookmarks.fetch({ url: "http://nonexisting.com/" },
- gAccumulator.callback);
- Assert.equal(bm, null);
- Assert.equal(gAccumulator.results.length, 0);
-});
-
-add_task(function* fetch_byurl() {
- let bm1 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://byurl.com/",
- title: "a bookmark" });
- checkBookmarkObject(bm1);
-
- // Also ensure that fecth-by-url excludes the tags folder.
- PlacesUtils.tagging.tagURI(uri(bm1.url.href), ["Test Tag"]);
-
- let bm2 = yield PlacesUtils.bookmarks.fetch({ url: bm1.url },
- gAccumulator.callback);
- checkBookmarkObject(bm2);
- Assert.equal(gAccumulator.results.length, 1);
- checkBookmarkObject(gAccumulator.results[0]);
- Assert.deepEqual(gAccumulator.results[0], bm1);
-
- Assert.deepEqual(bm1, bm2);
- Assert.equal(bm2.parentGuid, PlacesUtils.bookmarks.unfiledGuid);
- Assert.deepEqual(bm2.dateAdded, bm2.lastModified);
- Assert.equal(bm2.type, PlacesUtils.bookmarks.TYPE_BOOKMARK);
- Assert.equal(bm2.url.href, "http://byurl.com/");
- Assert.equal(bm2.title, "a bookmark");
-
- let bm3 = yield PlacesUtils.bookmarks.insert({ parentGuid: PlacesUtils.bookmarks.unfiledGuid,
- type: PlacesUtils.bookmarks.TYPE_BOOKMARK,
- url: "http://byurl.com/",
- title: "a bookmark" });
- let bm4 = yield PlacesUtils.bookmarks.fetch({ url: bm1.url },
- gAccumulator.callback);
- checkBookmarkObject(bm4);
- Assert.deepEqual(bm3, bm4);
- Assert.equal(gAccumulator.results.length, 2);
- gAccumulator.results.forEach(checkBookmarkObject);
- Assert.deepEqual(gAccumulator.results[0], bm4);
-
- // After an update the returned bookmark should change.
- yield PlacesUtils.bookmarks.update({ guid: bm1.guid, title: "new title" });
- let bm5 = yield PlacesUtils.bookmarks.fetch({ url: bm1.url },
- gAccumulator.callback);
- checkBookmarkObject(bm5);
- // Cannot use deepEqual cause lastModified changed.
- Assert.equal(bm1.guid, bm5.guid);
- Assert.ok(bm5.lastModified > bm1.lastModified);
- Assert.equal(gAccumulator.results.length, 2);
- gAccumulator.results.forEach(checkBookmarkObject);
- Assert.deepEqual(gAccumulator.results[0], bm5);
-
- // cleanup
- PlacesUtils.tagging.untagURI(uri(bm1.url.href), ["Test Tag"]);
-});
-
-function run_test() {
- run_next_test();
-}