Dactyloidae/toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js

49 lines
1.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(function* test_searchEngine_autoFill() {
Services.prefs.setBoolPref("browser.urlbar.autoFill.searchEngines", true);
Services.search.addEngineWithDetails("MySearchEngine", "", "", "",
"GET", "http://my.search.com/");
let engine = Services.search.getEngineByName("MySearchEngine");
do_register_cleanup(() => Services.search.removeEngine(engine));
// Add an uri that matches the search string with high frecency.
let uri = NetUtil.newURI("http://www.example.com/my/");
let visits = [];
for (let i = 0; i < 100; ++i) {
visits.push({ uri, title: "Terms - SearchEngine Search" });
}
yield PlacesTestUtils.addVisits(visits);
yield addBookmark({ uri: uri, title: "Example bookmark" });
yield PlacesTestUtils.promiseAsyncUpdates();
ok(frecencyForUrl(uri) > 10000, "Added URI should have expected high frecency");
do_print("Check search domain is autoFilled even if there's an higher frecency match");
yield check_autocomplete({
search: "my",
autofilled: "my.search.com",
completed: "http://my.search.com"
});
yield cleanup();
});
add_task(function* test_searchEngine_noautoFill() {
let engineName = "engine-rel-searchform.xml";
let engine = yield addTestEngine(engineName);
equal(engine.searchForm, "http://example.com/?search");
Services.prefs.setBoolPref("browser.urlbar.autoFill.typed", false);
yield PlacesTestUtils.addVisits(NetUtil.newURI("http://example.com/my/"));
do_print("Check search domain is not autoFilled if it matches a visited domain");
yield check_autocomplete({
search: "example",
autofilled: "example.com/",
completed: "example.com/"
});
yield cleanup();
});