summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/unit/test_history_autocomplete_tags.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/unit/test_history_autocomplete_tags.js')
-rw-r--r--toolkit/components/places/tests/unit/test_history_autocomplete_tags.js185
1 files changed, 0 insertions, 185 deletions
diff --git a/toolkit/components/places/tests/unit/test_history_autocomplete_tags.js b/toolkit/components/places/tests/unit/test_history_autocomplete_tags.js
deleted file mode 100644
index a5e0e1cb1..000000000
--- a/toolkit/components/places/tests/unit/test_history_autocomplete_tags.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/* -*- 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 current_test = 0;
-
-function AutoCompleteInput(aSearches) {
- this.searches = aSearches;
-}
-AutoCompleteInput.prototype = {
- constructor: AutoCompleteInput,
-
- searches: null,
-
- minResultsForPopup: 0,
- timeout: 10,
- searchParam: "",
- textValue: "",
- disableAutoComplete: false,
- completeDefaultIndex: false,
-
- get searchCount() {
- return this.searches.length;
- },
-
- getSearchAt: function(aIndex) {
- return this.searches[aIndex];
- },
-
- onSearchBegin: function() {},
- onSearchComplete: function() {},
-
- popupOpen: false,
-
- popup: {
- setSelectedIndex: function(aIndex) {},
- invalidate: function() {},
-
- // nsISupports implementation
- QueryInterface: function(iid) {
- if (iid.equals(Ci.nsISupports) ||
- iid.equals(Ci.nsIAutoCompletePopup))
- return this;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- }
- },
-
- // nsISupports implementation
- QueryInterface: function(iid) {
- if (iid.equals(Ci.nsISupports) ||
- iid.equals(Ci.nsIAutoCompleteInput))
- return this;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
- }
-}
-
-// Get tagging service
-try {
- var tagssvc = Cc["@mozilla.org/browser/tagging-service;1"].
- getService(Ci.nsITaggingService);
-} catch (ex) {
- do_throw("Could not get tagging service\n");
-}
-
-function ensure_tag_results(uris, searchTerm)
-{
- print("Searching for '" + searchTerm + "'");
- var controller = Components.classes["@mozilla.org/autocomplete/controller;1"].
- getService(Components.interfaces.nsIAutoCompleteController);
-
- // Make an AutoCompleteInput that uses our searches
- // and confirms results on search complete
- var input = new AutoCompleteInput(["unifiedcomplete"]);
-
- controller.input = input;
-
- // Search is asynchronous, so don't let the test finish immediately
- do_test_pending();
-
- var numSearchesStarted = 0;
- input.onSearchBegin = function() {
- numSearchesStarted++;
- do_check_eq(numSearchesStarted, 1);
- };
-
- input.onSearchComplete = function() {
- do_check_eq(numSearchesStarted, 1);
- do_check_eq(controller.searchStatus,
- uris.length ?
- Ci.nsIAutoCompleteController.STATUS_COMPLETE_MATCH :
- Ci.nsIAutoCompleteController.STATUS_COMPLETE_NO_MATCH);
- do_check_eq(controller.matchCount, uris.length);
- let vals = [];
- for (let i=0; i<controller.matchCount; i++) {
- // Keep the URL for later because order of tag results is undefined
- vals.push(controller.getValueAt(i));
- do_check_eq(controller.getStyleAt(i), "bookmark-tag");
- }
- // Sort the results then check if we have the right items
- vals.sort().forEach((val, i) => do_check_eq(val, uris[i].spec))
-
- if (current_test < (tests.length - 1)) {
- current_test++;
- tests[current_test]();
- }
-
- do_test_finished();
- };
-
- controller.startSearch(searchTerm);
-}
-
-var uri1 = uri("http://site.tld/1/aaa");
-var uri2 = uri("http://site.tld/2/bbb");
-var uri3 = uri("http://site.tld/3/aaa");
-var uri4 = uri("http://site.tld/4/bbb");
-var uri5 = uri("http://site.tld/5/aaa");
-var uri6 = uri("http://site.tld/6/bbb");
-
-var tests = [
- () => ensure_tag_results([uri1, uri4, uri6], "foo"),
- () => ensure_tag_results([uri1], "foo aaa"),
- () => ensure_tag_results([uri4, uri6], "foo bbb"),
- () => ensure_tag_results([uri2, uri4, uri5, uri6], "bar"),
- () => ensure_tag_results([uri5], "bar aaa"),
- () => ensure_tag_results([uri2, uri4, uri6], "bar bbb"),
- () => ensure_tag_results([uri3, uri5, uri6], "cheese"),
- () => ensure_tag_results([uri3, uri5], "chees aaa"),
- () => ensure_tag_results([uri6], "chees bbb"),
- () => ensure_tag_results([uri4, uri6], "fo bar"),
- () => ensure_tag_results([], "fo bar aaa"),
- () => ensure_tag_results([uri4, uri6], "fo bar bbb"),
- () => ensure_tag_results([uri4, uri6], "ba foo"),
- () => ensure_tag_results([], "ba foo aaa"),
- () => ensure_tag_results([uri4, uri6], "ba foo bbb"),
- () => ensure_tag_results([uri5, uri6], "ba chee"),
- () => ensure_tag_results([uri5], "ba chee aaa"),
- () => ensure_tag_results([uri6], "ba chee bbb"),
- () => ensure_tag_results([uri5, uri6], "cheese bar"),
- () => ensure_tag_results([uri5], "cheese bar aaa"),
- () => ensure_tag_results([uri6], "chees bar bbb"),
- () => ensure_tag_results([uri6], "cheese bar foo"),
- () => ensure_tag_results([], "foo bar cheese aaa"),
- () => ensure_tag_results([uri6], "foo bar cheese bbb"),
-];
-
-/**
- * Properly tags a uri adding it to bookmarks.
- *
- * @param aURI
- * The nsIURI to tag.
- * @param aTags
- * The tags to add.
- */
-function tagURI(aURI, aTags) {
- PlacesUtils.bookmarks.insertBookmark(PlacesUtils.unfiledBookmarksFolderId,
- aURI,
- PlacesUtils.bookmarks.DEFAULT_INDEX,
- "A title");
- tagssvc.tagURI(aURI, aTags);
-}
-
-/**
- * Test history autocomplete
- */
-function run_test() {
- // always search in history + bookmarks, no matter what the default is
- var prefs = Cc["@mozilla.org/preferences-service;1"].
- getService(Ci.nsIPrefBranch);
- prefs.setIntPref("browser.urlbar.search.sources", 3);
- prefs.setIntPref("browser.urlbar.default.behavior", 0);
-
- tagURI(uri1, ["foo"]);
- tagURI(uri2, ["bar"]);
- tagURI(uri3, ["cheese"]);
- tagURI(uri4, ["foo bar"]);
- tagURI(uri5, ["bar cheese"]);
- tagURI(uri6, ["foo bar cheese"]);
-
- tests[0]();
-}