summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/queries/test_queryMultipleFolder.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /toolkit/components/places/tests/queries/test_queryMultipleFolder.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'toolkit/components/places/tests/queries/test_queryMultipleFolder.js')
-rw-r--r--toolkit/components/places/tests/queries/test_queryMultipleFolder.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/queries/test_queryMultipleFolder.js b/toolkit/components/places/tests/queries/test_queryMultipleFolder.js
new file mode 100644
index 000000000..694728a43
--- /dev/null
+++ b/toolkit/components/places/tests/queries/test_queryMultipleFolder.js
@@ -0,0 +1,65 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+function run_test() {
+ run_next_test();
+}
+
+add_task(function* test_queryMultipleFolders() {
+ // adding bookmarks in the folders
+ let folderIds = [];
+ let bookmarkIds = [];
+ for (let i = 0; i < 3; ++i) {
+ let folder = yield PlacesUtils.bookmarks.insert({
+ parentGuid: PlacesUtils.bookmarks.menuGuid,
+ type: PlacesUtils.bookmarks.TYPE_FOLDER,
+ title: `Folder${i}`
+ });
+ folderIds.push(yield PlacesUtils.promiseItemId(folder.guid));
+
+ for (let j = 0; j < 7; ++j) {
+ let bm = yield PlacesUtils.bookmarks.insert({
+ parentGuid: (yield PlacesUtils.promiseItemGuid(folderIds[i])),
+ url: `http://Bookmark${i}_${j}.com`,
+ title: ""
+ });
+ bookmarkIds.push(yield PlacesUtils.promiseItemId(bm.guid));
+ }
+ }
+
+ // using queryStringToQueries
+ let query = {};
+ let options = {};
+ let maxResults = 20;
+ let queryString = "place:" + folderIds.map((id) => {
+ return "folder=" + id;
+ }).join('&') + "&sort=5&maxResults=" + maxResults;
+ PlacesUtils.history.queryStringToQueries(queryString, query, {}, options);
+ let rootNode = PlacesUtils.history.executeQuery(query.value[0], options.value).root;
+ rootNode.containerOpen = true;
+ let resultLength = rootNode.childCount;
+ Assert.equal(resultLength, maxResults);
+ for (let i = 0; i < resultLength; ++i) {
+ let node = rootNode.getChild(i);
+ Assert.equal(bookmarkIds[i], node.itemId, node.uri);
+ }
+ rootNode.containerOpen = false;
+
+ // using getNewQuery and getNewQueryOptions
+ query = PlacesUtils.history.getNewQuery();
+ options = PlacesUtils.history.getNewQueryOptions();
+ query.setFolders(folderIds, folderIds.length);
+ options.sortingMode = options.SORT_BY_URI_ASCENDING;
+ options.maxResults = maxResults;
+ rootNode = PlacesUtils.history.executeQuery(query, options).root;
+ rootNode.containerOpen = true;
+ resultLength = rootNode.childCount;
+ Assert.equal(resultLength, maxResults);
+ for (let i = 0; i < resultLength; ++i) {
+ let node = rootNode.getChild(i);
+ Assert.equal(bookmarkIds[i], node.itemId, node.uri);
+ }
+ rootNode.containerOpen = false;
+});