summaryrefslogtreecommitdiffstats
path: root/toolkit/components/autocomplete/tests/unit/test_stopSearch.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/autocomplete/tests/unit/test_stopSearch.js')
-rw-r--r--toolkit/components/autocomplete/tests/unit/test_stopSearch.js187
1 files changed, 0 insertions, 187 deletions
diff --git a/toolkit/components/autocomplete/tests/unit/test_stopSearch.js b/toolkit/components/autocomplete/tests/unit/test_stopSearch.js
deleted file mode 100644
index 5ef3454b4..000000000
--- a/toolkit/components/autocomplete/tests/unit/test_stopSearch.js
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-/**
- * Purpose of the test is to check that a stopSearch call comes always before a
- * startSearch call.
- */
-
-Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
-
-
-/**
- * Dummy nsIAutoCompleteInput source that returns
- * the given list of AutoCompleteSearch names.
- *
- * Implements only the methods needed for this test.
- */
-function AutoCompleteInput(aSearches)
-{
- this.searches = aSearches;
-}
-AutoCompleteInput.prototype = {
- constructor: AutoCompleteInput,
- minResultsForPopup: 0,
- timeout: 10,
- searchParam: "",
- textValue: "hello",
- disableAutoComplete: false,
- completeDefaultIndex: false,
- set popupOpen(val) { return val; }, // ignore
- get popupOpen() { return false; },
- get searchCount() { return this.searches.length; },
- getSearchAt: function(aIndex) { return this.searches[aIndex]; },
- onSearchBegin: function() {},
- onSearchComplete: function() {},
- onTextReverted: function () {},
- onTextEntered: function () {},
- popup: {
- selectBy: function() {},
- invalidate: function() {},
- set selectedIndex(val) { return val; }, // ignore
- get selectedIndex() { return -1 },
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIAutoCompletePopup])
- },
- QueryInterface: XPCOMUtils.generateQI([Ci.nsIAutoCompleteInput])
-}
-
-
-/**
- * nsIAutoCompleteSearch implementation.
- */
-function AutoCompleteSearch(aName)
-{
- this.name = aName;
-}
-AutoCompleteSearch.prototype = {
- constructor: AutoCompleteSearch,
- stopSearchInvoked: true,
- startSearch: function(aSearchString, aSearchParam, aPreviousResult, aListener)
- {
- print("Check stop search has been called");
- do_check_true(this.stopSearchInvoked);
- this.stopSearchInvoked = false;
- },
- stopSearch: function()
- {
- this.stopSearchInvoked = true;
- },
- QueryInterface: XPCOMUtils.generateQI([
- Ci.nsIFactory
- , Ci.nsIAutoCompleteSearch
- ]),
- createInstance: function(outer, iid)
- {
- return this.QueryInterface(iid);
- }
-}
-
-
-/**
- * Helper to register an AutoCompleteSearch with the given name.
- * Allows the AutoCompleteController to find the search.
- */
-function registerAutoCompleteSearch(aSearch)
-{
- let name = "@mozilla.org/autocomplete/search;1?name=" + aSearch.name;
- let uuidGenerator = Cc["@mozilla.org/uuid-generator;1"].
- getService(Ci.nsIUUIDGenerator);
- let cid = uuidGenerator.generateUUID();
- let desc = "Test AutoCompleteSearch";
- let componentManager = Components.manager
- .QueryInterface(Ci.nsIComponentRegistrar);
- componentManager.registerFactory(cid, desc, name, aSearch);
- // Keep the id on the object so we can unregister later
- aSearch.cid = cid;
-}
-
-
-/**
- * Helper to unregister an AutoCompleteSearch.
- */
-function unregisterAutoCompleteSearch(aSearch) {
- let componentManager = Components.manager
- .QueryInterface(Ci.nsIComponentRegistrar);
- componentManager.unregisterFactory(aSearch.cid, aSearch);
-}
-
-
-var gTests = [
- function(controller) {
- print("handleText");
- controller.input.textValue = "hel";
- controller.handleText();
- },
- function(controller) {
- print("handleStartComposition");
- controller.handleStartComposition();
- },
- function(controller) {
- print("handleEndComposition");
- controller.handleEndComposition();
- // an input event always follows compositionend event.
- controller.handleText();
- },
- function(controller) {
- print("handleEscape");
- controller.handleEscape();
- },
- function(controller) {
- print("handleEnter");
- controller.handleEnter(false);
- },
- function(controller) {
- print("handleTab");
- controller.handleTab();
- },
-
- function(controller) {
- print("handleKeyNavigation");
- controller.handleKeyNavigation(Ci.nsIDOMKeyEvent.DOM_VK_UP);
- },
-];
-
-
-var gSearch;
-var gCurrentTest;
-function run_test() {
- // Make an AutoCompleteSearch that always returns nothing
- gSearch = new AutoCompleteSearch("test");
- registerAutoCompleteSearch(gSearch);
-
- let controller = Cc["@mozilla.org/autocomplete/controller;1"].
- getService(Ci.nsIAutoCompleteController);
-
- // Make an AutoCompleteInput that uses our search.
- let input = new AutoCompleteInput([gSearch.name]);
- controller.input = input;
-
- input.onSearchBegin = function() {
- do_execute_soon(function() {
- gCurrentTest(controller);
- });
- };
- input.onSearchComplete = function() {
- run_next_test(controller);
- }
-
- // Search is asynchronous, so don't let the test finish immediately
- do_test_pending();
-
- run_next_test(controller);
-}
-
-function run_next_test(controller) {
- if (gTests.length == 0) {
- unregisterAutoCompleteSearch(gSearch);
- controller.stopSearch();
- controller.input = null;
- do_test_finished();
- return;
- }
-
- gCurrentTest = gTests.shift();
- controller.startSearch("hello");
-}