summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js')
-rw-r--r--toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js b/toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js
new file mode 100644
index 000000000..61b9826f7
--- /dev/null
+++ b/toolkit/components/places/tests/unifiedcomplete/test_search_engine_host.js
@@ -0,0 +1,49 @@
+/* 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();
+});
+