summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js')
-rw-r--r--browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js125
1 files changed, 125 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js b/browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js
new file mode 100644
index 0000000000..d5f18278fd
--- /dev/null
+++ b/browser/components/urlbar/tests/unit/test_tags_returnedInSearches.js
@@ -0,0 +1,125 @@
+/* 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/. */
+
+/**
+ * Test bug 418257 by making sure tags are returned with the title as part of
+ * the "comment" if there are tags even if we didn't match in the tags. They
+ * are separated from the title by a endash.
+ */
+
+testEngine_setup();
+
+add_task(async function test() {
+ Services.prefs.setBoolPref("browser.urlbar.suggest.searches", false);
+ Services.prefs.setBoolPref("browser.urlbar.autoFill", false);
+ registerCleanupFunction(() => {
+ Services.prefs.clearUserPref("browser.urlbar.suggest.searches");
+ Services.prefs.clearUserPref("browser.urlbar.autoFill");
+ });
+
+ let uri1 = Services.io.newURI("http://page1");
+ let uri2 = Services.io.newURI("http://page2");
+ let uri3 = Services.io.newURI("http://page3");
+ let uri4 = Services.io.newURI("http://page4");
+ await PlacesTestUtils.addVisits([
+ { uri: uri1, title: "tagged" },
+ { uri: uri2, title: "tagged" },
+ { uri: uri3, title: "tagged" },
+ { uri: uri4, title: "tagged" },
+ ]);
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri1,
+ title: "tagged",
+ tags: ["tag1"],
+ });
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri2,
+ title: "tagged",
+ tags: ["tag1", "tag2"],
+ });
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri3,
+ title: "tagged",
+ tags: ["tag1", "tag3"],
+ });
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri4,
+ title: "tagged",
+ tags: ["tag1", "tag2", "tag3"],
+ });
+ info("Make sure tags come back in the title when matching tags");
+ let context = createContext("page1 tag", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: SUGGESTIONS_ENGINE_NAME,
+ heuristic: true,
+ }),
+ makeBookmarkResult(context, {
+ uri: uri1.spec,
+ title: "tagged",
+ tags: ["tag1"],
+ }),
+ ],
+ });
+
+ info("Check tags in title for page2");
+ context = createContext("page2 tag", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: SUGGESTIONS_ENGINE_NAME,
+ heuristic: true,
+ }),
+ makeBookmarkResult(context, {
+ uri: uri2.spec,
+ title: "tagged",
+ tags: ["tag1", "tag2"],
+ }),
+ ],
+ });
+
+ info("Tags do not appear when not matching the tag");
+ context = createContext("page3", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: SUGGESTIONS_ENGINE_NAME,
+ heuristic: true,
+ }),
+ makeBookmarkResult(context, {
+ uri: uri3.spec,
+ title: "tagged",
+ tags: [],
+ }),
+ ],
+ });
+
+ info("Extra test just to make sure we match the title");
+ context = createContext("tag2", { isPrivate: true });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: SUGGESTIONS_ENGINE_NAME,
+ heuristic: true,
+ }),
+ makeBookmarkResult(context, {
+ uri: uri4.spec,
+ title: "tagged",
+ tags: ["tag2"],
+ }),
+ makeBookmarkResult(context, {
+ uri: uri2.spec,
+ title: "tagged",
+ tags: ["tag2"],
+ }),
+ ],
+ });
+
+ await cleanupPlaces();
+});