tenfourfox/toolkit/components/places/tests/unifiedcomplete/test_avoid_middle_complete.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

180 lines
5.9 KiB
JavaScript

/* 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/. */
add_task(function* test_prefix_space_noautofill() {
yield PlacesTestUtils.addVisits({
uri: NetUtil.newURI("http://moz.org/test/"),
transition: TRANSITION_TYPED
});
do_print("Should not try to autoFill if search string contains a space");
yield check_autocomplete({
search: " mo",
autofilled: " mo",
completed: " mo"
});
yield cleanup();
});
add_task(function* test_trailing_space_noautofill() {
yield PlacesTestUtils.addVisits({
uri: NetUtil.newURI("http://moz.org/test/"),
transition: TRANSITION_TYPED
});
do_print("Should not try to autoFill if search string contains a space");
yield check_autocomplete({
search: "mo ",
autofilled: "mo ",
completed: "mo "
});
yield cleanup();
});
add_task(function* test_searchEngine_autofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("CakeSearch", "", "", "",
"GET", "http://cake.search/");
let engine = Services.search.getEngineByName("CakeSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should autoFill search engine if search string does not contains a space");
yield check_autocomplete({
search: "ca",
autofilled: "cake.search",
completed: "http://cake.search"
});
yield cleanup();
});
add_task(function* test_searchEngine_prefix_space_noautofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("CupcakeSearch", "", "", "",
"GET", "http://cupcake.search/");
let engine = Services.search.getEngineByName("CupcakeSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should not try to autoFill search engine if search string contains a space");
yield check_autocomplete({
search: " cu",
autofilled: " cu",
completed: " cu"
});
yield cleanup();
});
add_task(function* test_searchEngine_trailing_space_noautofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("BaconSearch", "", "", "",
"GET", "http://bacon.search/");
let engine = Services.search.getEngineByName("BaconSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should not try to autoFill search engine if search string contains a space");
yield check_autocomplete({
search: "ba ",
autofilled: "ba ",
completed: "ba "
});
yield cleanup();
});
add_task(function* test_searchEngine_www_noautofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("HamSearch", "", "", "",
"GET", "http://ham.search/");
let engine = Services.search.getEngineByName("HamSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should not autoFill search engine if search string contains www. but engine doesn't");
yield check_autocomplete({
search: "www.ham",
autofilled: "www.ham",
completed: "www.ham"
});
yield cleanup();
});
add_task(function* test_searchEngine_different_scheme_noautofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("PieSearch", "", "", "",
"GET", "https://pie.search/");
let engine = Services.search.getEngineByName("PieSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should not autoFill search engine if search string has a different scheme.");
yield check_autocomplete({
search: "http://pie",
autofilled: "http://pie",
completed: "http://pie"
});
yield cleanup();
});
add_task(function* test_searchEngine_matching_prefix_autofill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("BeanSearch", "", "", "",
"GET", "http://www.bean.search/");
let engine = Services.search.getEngineByName("BeanSearch");
engine.addParam("q", "{searchTerms}", null);
do_register_cleanup(() => Services.search.removeEngine(engine));
do_print("Should autoFill search engine if search string has matching prefix.");
yield check_autocomplete({
search: "http://www.be",
autofilled: "http://www.bean.search",
completed: "http://www.bean.search"
})
do_print("Should autoFill search engine if search string has www prefix.");
yield check_autocomplete({
search: "www.be",
autofilled: "www.bean.search",
completed: "http://www.bean.search"
});
do_print("Should autoFill search engine if search string has matching scheme.");
yield check_autocomplete({
search: "http://be",
autofilled: "http://bean.search",
completed: "http://www.bean.search"
});
yield cleanup();
});
add_task(function* test_prefix_autofill() {
yield PlacesTestUtils.addVisits({
uri: NetUtil.newURI("http://mozilla.org/test/"),
transition: TRANSITION_TYPED
});
yield PlacesTestUtils.addVisits({
uri: NetUtil.newURI("http://moz.org/test/"),
transition: TRANSITION_TYPED
});
do_print("Should not try to autoFill in-the-middle if a search is canceled immediately");
yield check_autocomplete({
incompleteSearch: "moz",
search: "mozi",
autofilled: "mozilla.org/",
completed: "mozilla.org/"
});
yield cleanup();
});