diff options
Diffstat (limited to 'toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js')
-rw-r--r-- | toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js b/toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js deleted file mode 100644 index 1280ce3e7..000000000 --- a/toolkit/components/places/tests/unit/test_PlacesSearchAutocompleteProvider.js +++ /dev/null @@ -1,133 +0,0 @@ -/* 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/. */ - -Cu.import("resource://gre/modules/PlacesSearchAutocompleteProvider.jsm"); - -function run_test() { - // Tell the search service we are running in the US. This also has the - // desired side-effect of preventing our geoip lookup. - Services.prefs.setBoolPref("browser.search.isUS", true); - Services.prefs.setCharPref("browser.search.countryCode", "US"); - Services.prefs.setBoolPref("browser.search.geoSpecificDefaults", false); - run_next_test(); -} - -add_task(function* search_engine_match() { - let engine = yield promiseDefaultSearchEngine(); - let token = engine.getResultDomain(); - let match = yield PlacesSearchAutocompleteProvider.findMatchByToken(token.substr(0, 1)); - do_check_eq(match.url, engine.searchForm); - do_check_eq(match.engineName, engine.name); - do_check_eq(match.iconUrl, engine.iconURI ? engine.iconURI.spec : null); -}); - -add_task(function* no_match() { - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByToken("test")); -}); - -add_task(function* hide_search_engine_nomatch() { - let engine = yield promiseDefaultSearchEngine(); - let token = engine.getResultDomain(); - let promiseTopic = promiseSearchTopic("engine-changed"); - Services.search.removeEngine(engine); - yield promiseTopic; - do_check_true(engine.hidden); - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByToken(token.substr(0, 1))); -}); - -add_task(function* add_search_engine_match() { - let promiseTopic = promiseSearchTopic("engine-added"); - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByToken("bacon")); - Services.search.addEngineWithDetails("bacon", "", "pork", "Search Bacon", - "GET", "http://www.bacon.moz/?search={searchTerms}"); - yield promiseTopic; - let match = yield PlacesSearchAutocompleteProvider.findMatchByToken("bacon"); - do_check_eq(match.url, "http://www.bacon.moz"); - do_check_eq(match.engineName, "bacon"); - do_check_eq(match.iconUrl, null); -}); - -add_task(function* test_aliased_search_engine_match() { - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByAlias("sober")); - // Lower case - let match = yield PlacesSearchAutocompleteProvider.findMatchByAlias("pork"); - do_check_eq(match.engineName, "bacon"); - do_check_eq(match.alias, "pork"); - do_check_eq(match.iconUrl, null); - // Upper case - let match1 = yield PlacesSearchAutocompleteProvider.findMatchByAlias("PORK"); - do_check_eq(match1.engineName, "bacon"); - do_check_eq(match1.alias, "pork"); - do_check_eq(match1.iconUrl, null); - // Cap case - let match2 = yield PlacesSearchAutocompleteProvider.findMatchByAlias("Pork"); - do_check_eq(match2.engineName, "bacon"); - do_check_eq(match2.alias, "pork"); - do_check_eq(match2.iconUrl, null); -}); - -add_task(function* test_aliased_search_engine_match_upper_case_alias() { - let promiseTopic = promiseSearchTopic("engine-added"); - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByToken("patch")); - Services.search.addEngineWithDetails("patch", "", "PR", "Search Patch", - "GET", "http://www.patch.moz/?search={searchTerms}"); - yield promiseTopic; - // lower case - let match = yield PlacesSearchAutocompleteProvider.findMatchByAlias("pr"); - do_check_eq(match.engineName, "patch"); - do_check_eq(match.alias, "PR"); - do_check_eq(match.iconUrl, null); - // Upper case - let match1 = yield PlacesSearchAutocompleteProvider.findMatchByAlias("PR"); - do_check_eq(match1.engineName, "patch"); - do_check_eq(match1.alias, "PR"); - do_check_eq(match1.iconUrl, null); - // Cap case - let match2 = yield PlacesSearchAutocompleteProvider.findMatchByAlias("Pr"); - do_check_eq(match2.engineName, "patch"); - do_check_eq(match2.alias, "PR"); - do_check_eq(match2.iconUrl, null); -}); - -add_task(function* remove_search_engine_nomatch() { - let engine = Services.search.getEngineByName("bacon"); - let promiseTopic = promiseSearchTopic("engine-removed"); - Services.search.removeEngine(engine); - yield promiseTopic; - do_check_eq(null, yield PlacesSearchAutocompleteProvider.findMatchByToken("bacon")); -}); - -add_task(function* test_parseSubmissionURL_basic() { - // Most of the logic of parseSubmissionURL is tested in the search service - // itself, thus we only do a sanity check of the wrapper here. - let engine = yield promiseDefaultSearchEngine(); - let submissionURL = engine.getSubmission("terms").uri.spec; - - let result = PlacesSearchAutocompleteProvider.parseSubmissionURL(submissionURL); - do_check_eq(result.engineName, engine.name); - do_check_eq(result.terms, "terms"); - - result = PlacesSearchAutocompleteProvider.parseSubmissionURL("http://example.org/"); - do_check_eq(result, null); -}); - -function promiseDefaultSearchEngine() { - let deferred = Promise.defer(); - Services.search.init( () => { - deferred.resolve(Services.search.defaultEngine); - }); - return deferred.promise; -} - -function promiseSearchTopic(expectedVerb) { - let deferred = Promise.defer(); - Services.obs.addObserver( function observe(subject, topic, verb) { - do_print("browser-search-engine-modified: " + verb); - if (verb == expectedVerb) { - Services.obs.removeObserver(observe, "browser-search-engine-modified"); - deferred.resolve(); - } - }, "browser-search-engine-modified", false); - return deferred.promise; -} |