mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
70 lines
2.5 KiB
JavaScript
70 lines
2.5 KiB
JavaScript
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
|
/* vim:set ts=2 sw=2 sts=2 et: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
|
|
getService(Ci.nsINavBookmarksService);
|
|
var hs = Cc["@mozilla.org/browser/nav-history-service;1"].
|
|
getService(Ci.nsINavHistoryService);
|
|
|
|
function check_queries_results(aQueries, aOptions, aExpectedItemIds) {
|
|
var result = hs.executeQueries(aQueries, aQueries.length, aOptions);
|
|
var root = result.root;
|
|
root.containerOpen = true;
|
|
|
|
// Dump found nodes.
|
|
for (let i = 0; i < root.childCount; i++) {
|
|
dump("nodes[" + i + "]: " + root.getChild(0).title + "\n");
|
|
}
|
|
|
|
do_check_eq(root.childCount, aExpectedItemIds.length);
|
|
for (let i = 0; i < root.childCount; i++) {
|
|
do_check_eq(root.getChild(i).itemId, aExpectedItemIds[i]);
|
|
}
|
|
|
|
root.containerOpen = false;
|
|
}
|
|
|
|
// main
|
|
function run_test() {
|
|
var id1 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
|
|
bs.DEFAULT_INDEX, "123 0");
|
|
var id2 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
|
|
bs.DEFAULT_INDEX, "456");
|
|
var id3 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
|
|
bs.DEFAULT_INDEX, "123 456");
|
|
var id4 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
|
|
bs.DEFAULT_INDEX, "789 456");
|
|
|
|
/**
|
|
* All of the query objects are ORed together. Within a query, all the terms
|
|
* are ANDed together. See nsINavHistory.idl.
|
|
*/
|
|
var queries = [];
|
|
queries.push(hs.getNewQuery());
|
|
queries.push(hs.getNewQuery());
|
|
var options = hs.getNewQueryOptions();
|
|
options.queryType = Ci.nsINavHistoryQueryOptions.QUERY_TYPE_BOOKMARKS;
|
|
|
|
// Test 1
|
|
dump("Test searching for 123 OR 789\n");
|
|
queries[0].searchTerms = "123";
|
|
queries[1].searchTerms = "789";
|
|
check_queries_results(queries, options, [id1, id3, id4]);
|
|
|
|
// Test 2
|
|
dump("Test searching for 123 OR 456\n");
|
|
queries[0].searchTerms = "123";
|
|
queries[1].searchTerms = "456";
|
|
check_queries_results(queries, options, [id1, id2, id3, id4]);
|
|
|
|
// Test 3
|
|
dump("Test searching for 00 OR 789\n");
|
|
queries[0].searchTerms = "00";
|
|
queries[1].searchTerms = "789";
|
|
check_queries_results(queries, options, [id4]);
|
|
}
|