toolkit/components/places/tests/bookmarks/test_395593.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:f362a40887e1
1 /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim:set ts=2 sw=2 sts=2 et: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
8 var bs = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].
9 getService(Ci.nsINavBookmarksService);
10 var hs = Cc["@mozilla.org/browser/nav-history-service;1"].
11 getService(Ci.nsINavHistoryService);
12
13 function check_queries_results(aQueries, aOptions, aExpectedItemIds) {
14 var result = hs.executeQueries(aQueries, aQueries.length, aOptions);
15 var root = result.root;
16 root.containerOpen = true;
17
18 // Dump found nodes.
19 for (let i = 0; i < root.childCount; i++) {
20 dump("nodes[" + i + "]: " + root.getChild(0).title + "\n");
21 }
22
23 do_check_eq(root.childCount, aExpectedItemIds.length);
24 for (let i = 0; i < root.childCount; i++) {
25 do_check_eq(root.getChild(i).itemId, aExpectedItemIds[i]);
26 }
27
28 root.containerOpen = false;
29 }
30
31 // main
32 function run_test() {
33 var id1 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
34 bs.DEFAULT_INDEX, "123 0");
35 var id2 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
36 bs.DEFAULT_INDEX, "456");
37 var id3 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
38 bs.DEFAULT_INDEX, "123 456");
39 var id4 = bs.insertBookmark(bs.bookmarksMenuFolder, uri("http://foo.tld"),
40 bs.DEFAULT_INDEX, "789 456");
41
42 /**
43 * All of the query objects are ORed together. Within a query, all the terms
44 * are ANDed together. See nsINavHistory.idl.
45 */
46 var queries = [];
47 queries.push(hs.getNewQuery());
48 queries.push(hs.getNewQuery());
49 var options = hs.getNewQueryOptions();
50 options.queryType = Ci.nsINavHistoryQueryOptions.QUERY_TYPE_BOOKMARKS;
51
52 // Test 1
53 dump("Test searching for 123 OR 789\n");
54 queries[0].searchTerms = "123";
55 queries[1].searchTerms = "789";
56 check_queries_results(queries, options, [id1, id3, id4]);
57
58 // Test 2
59 dump("Test searching for 123 OR 456\n");
60 queries[0].searchTerms = "123";
61 queries[1].searchTerms = "456";
62 check_queries_results(queries, options, [id1, id2, id3, id4]);
63
64 // Test 3
65 dump("Test searching for 00 OR 789\n");
66 queries[0].searchTerms = "00";
67 queries[1].searchTerms = "789";
68 check_queries_results(queries, options, [id4]);
69 }

mercurial