summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/unit/test_pages_alt_frecency.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/unit/test_pages_alt_frecency.js')
-rw-r--r--browser/components/urlbar/tests/unit/test_pages_alt_frecency.js85
1 files changed, 85 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/unit/test_pages_alt_frecency.js b/browser/components/urlbar/tests/unit/test_pages_alt_frecency.js
new file mode 100644
index 0000000000..41452587d4
--- /dev/null
+++ b/browser/components/urlbar/tests/unit/test_pages_alt_frecency.js
@@ -0,0 +1,85 @@
+/* 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/. */
+
+// This is a basic autocomplete test to ensure enabling the alternative frecency
+// algorithm doesn't break results and sorts them appropriately.
+// A more comprehensive testing of the algorithm itself is not included since it
+// is something that may change frequently according to experimentation results.
+// Other existing tests will, of course, need to be adapted once an algorithm
+// is promoted to be the default.
+
+testEngine_setup();
+
+add_task(async function test_autofill() {
+ const searchString = "match";
+ const singleVisitUrl = "https://singlevisit-match.org/";
+ const singleVisitBookmarkedUrl = "https://singlevisitbookmarked-match.org/";
+ const adaptiveVisitUrl = "https://adaptivevisit-match.org/";
+ const adaptiveManyVisitsUrl = "https://adaptivemanyvisit-match.org/";
+ const manyVisitsUrl = "https://manyvisits-match.org/";
+ const sampledVisitsUrl = "https://sampledvisits-match.org/";
+ const bookmarkedUrl = "https://bookmarked-match.org/";
+
+ await PlacesUtils.bookmarks.insert({
+ url: bookmarkedUrl,
+ title: "bookmark",
+ parentGuid: PlacesUtils.bookmarks.toolbarGuid,
+ });
+ await PlacesUtils.bookmarks.insert({
+ url: singleVisitBookmarkedUrl,
+ title: "visited bookmark",
+ parentGuid: PlacesUtils.bookmarks.toolbarGuid,
+ });
+ await PlacesTestUtils.addVisits([
+ singleVisitUrl,
+ singleVisitBookmarkedUrl,
+ adaptiveVisitUrl,
+ ...new Array(10).fill(adaptiveManyVisitsUrl),
+ ...new Array(100).fill(manyVisitsUrl),
+ ...new Array(10).fill(sampledVisitsUrl),
+ ]);
+ await UrlbarUtils.addToInputHistory(adaptiveVisitUrl, searchString);
+ await UrlbarUtils.addToInputHistory(adaptiveManyVisitsUrl, searchString);
+
+ let context = createContext(searchString, { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: "Suggestions",
+ heuristic: true,
+ }),
+ makeVisitResult(context, {
+ uri: adaptiveManyVisitsUrl,
+ title: `test visit for ${adaptiveManyVisitsUrl}`,
+ }),
+ makeVisitResult(context, {
+ uri: adaptiveVisitUrl,
+ title: `test visit for ${adaptiveVisitUrl}`,
+ }),
+ makeVisitResult(context, {
+ uri: manyVisitsUrl,
+ title: `test visit for ${manyVisitsUrl}`,
+ }),
+ makeVisitResult(context, {
+ uri: sampledVisitsUrl,
+ title: `test visit for ${sampledVisitsUrl}`,
+ }),
+ makeBookmarkResult(context, {
+ uri: singleVisitBookmarkedUrl,
+ title: "visited bookmark",
+ }),
+ makeBookmarkResult(context, {
+ uri: bookmarkedUrl,
+ title: "bookmark",
+ }),
+ makeVisitResult(context, {
+ uri: singleVisitUrl,
+ title: `test visit for ${singleVisitUrl}`,
+ }),
+ ],
+ });
+
+ await PlacesUtils.history.clear();
+});