diff options
Diffstat (limited to 'toolkit/components/places/tests/unifiedcomplete/test_special_search.js')
-rw-r--r-- | toolkit/components/places/tests/unifiedcomplete/test_special_search.js | 447 |
1 files changed, 0 insertions, 447 deletions
diff --git a/toolkit/components/places/tests/unifiedcomplete/test_special_search.js b/toolkit/components/places/tests/unifiedcomplete/test_special_search.js deleted file mode 100644 index 21df7046c..000000000 --- a/toolkit/components/places/tests/unifiedcomplete/test_special_search.js +++ /dev/null @@ -1,447 +0,0 @@ -/* 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 for bug 395161 that allows special searches that restrict results to - * history/bookmark/tagged items and title/url matches. - * - * Test 485122 by making sure results don't have tags when restricting result - * to just history either by default behavior or dynamic query restrict. - */ - -function setSuggestPrefsToFalse() { - Services.prefs.setBoolPref("browser.urlbar.suggest.history", false); - Services.prefs.setBoolPref("browser.urlbar.suggest.history.onlyTyped", false); - Services.prefs.setBoolPref("browser.urlbar.suggest.bookmark", false); -} - -add_task(function* test_special_searches() { - let uri1 = NetUtil.newURI("http://url/"); - let uri2 = NetUtil.newURI("http://url/2"); - let uri3 = NetUtil.newURI("http://foo.bar/"); - let uri4 = NetUtil.newURI("http://foo.bar/2"); - let uri5 = NetUtil.newURI("http://url/star"); - let uri6 = NetUtil.newURI("http://url/star/2"); - let uri7 = NetUtil.newURI("http://foo.bar/star"); - let uri8 = NetUtil.newURI("http://foo.bar/star/2"); - let uri9 = NetUtil.newURI("http://url/tag"); - let uri10 = NetUtil.newURI("http://url/tag/2"); - let uri11 = NetUtil.newURI("http://foo.bar/tag"); - let uri12 = NetUtil.newURI("http://foo.bar/tag/2"); - yield PlacesTestUtils.addVisits([ - { uri: uri1, title: "title", transition: TRANSITION_TYPED }, - { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar", transition: TRANSITION_TYPED }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", transition: TRANSITION_TYPED } - ]); - yield addBookmark( { uri: uri5, title: "title" } ); - yield addBookmark( { uri: uri6, title: "foo.bar" } ); - yield addBookmark( { uri: uri7, title: "title" } ); - yield addBookmark( { uri: uri8, title: "foo.bar" } ); - yield addBookmark( { uri: uri9, title: "title", tags: [ "foo.bar" ] } ); - yield addBookmark( { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ] } ); - yield addBookmark( { uri: uri11, title: "title", tags: [ "foo.bar" ] } ); - yield addBookmark( { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ] } ); - - // Test restricting searches - do_print("History restrict"); - yield check_autocomplete({ - search: "^", - matches: [ { uri: uri1, title: "title" }, - { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("Star restrict"); - yield check_autocomplete({ - search: "*", - matches: [ { uri: uri5, title: "title", style: [ "bookmark" ] }, - { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar"], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("Tag restrict"); - yield check_autocomplete({ - search: "+", - matches: [ { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - // Test specials as any word position - do_print("Special as first word"); - yield check_autocomplete({ - search: "^ foo bar", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("Special as middle word"); - yield check_autocomplete({ - search: "foo ^ bar", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("Special as last word"); - yield check_autocomplete({ - search: "foo bar ^", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - // Test restricting and matching searches with a term - do_print("foo ^ -> history"); - yield check_autocomplete({ - search: "foo ^", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo | -> history (change pref)"); - changeRestrict("history", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo * -> is star"); - resetRestrict("history"); - yield check_autocomplete({ - search: "foo *", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo | -> is star (change pref)"); - changeRestrict("bookmark", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo # -> in title"); - resetRestrict("bookmark"); - yield check_autocomplete({ - search: "foo #", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo | -> in title (change pref)"); - changeRestrict("title", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo @ -> in url"); - resetRestrict("title"); - yield check_autocomplete({ - search: "foo @", - matches: [ { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo | -> in url (change pref)"); - changeRestrict("url", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo + -> is tag"); - resetRestrict("url"); - yield check_autocomplete({ - search: "foo +", - matches: [ { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo | -> is tag (change pref)"); - changeRestrict("tag", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo ~ -> is typed"); - resetRestrict("tag"); - yield check_autocomplete({ - search: "foo ~", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo | -> is typed (change pref)"); - changeRestrict("typed", "|"); - yield check_autocomplete({ - search: "foo |", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - // Test various pairs of special searches - do_print("foo ^ * -> history, is star"); - resetRestrict("typed"); - yield check_autocomplete({ - search: "foo ^ *", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo ^ # -> history, in title"); - yield check_autocomplete({ - search: "foo ^ #", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo ^ @ -> history, in url"); - yield check_autocomplete({ - search: "foo ^ @", - matches: [ { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo ^ + -> history, is tag"); - yield check_autocomplete({ - search: "foo ^ +", - matches: [ { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo ^ ~ -> history, is typed"); - yield check_autocomplete({ - search: "foo ^ ~", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo * # -> is star, in title"); - yield check_autocomplete({ - search: "foo * #", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo * @ -> is star, in url"); - yield check_autocomplete({ - search: "foo * @", - matches: [ { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo * + -> same as +"); - yield check_autocomplete({ - search: "foo * +", - matches: [ { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo * ~ -> is star, is typed"); - yield check_autocomplete({ - search: "foo * ~", - matches: [ { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo # @ -> in title, in url"); - yield check_autocomplete({ - search: "foo # @", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo # + -> in title, is tag"); - yield check_autocomplete({ - search: "foo # +", - matches: [ { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo # ~ -> in title, is typed"); - yield check_autocomplete({ - search: "foo # ~", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo @ + -> in url, is tag"); - yield check_autocomplete({ - search: "foo @ +", - matches: [ { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo @ ~ -> in url, is typed"); - yield check_autocomplete({ - search: "foo @ ~", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - do_print("foo + ~ -> is tag, is typed"); - yield check_autocomplete({ - search: "foo + ~", - matches: [ { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "tag" ] } ] - }); - - // Disable autoFill for the next tests, see test_autoFill_default_behavior.js - // for specific tests. - Services.prefs.setBoolPref("browser.urlbar.autoFill", false); - - // Test default usage by setting certain browser.urlbar.suggest.* prefs - do_print("foo -> default history"); - setSuggestPrefsToFalse(); - Services.prefs.setBoolPref("browser.urlbar.suggest.history", true); - yield check_autocomplete({ - search: "foo", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar" }, - { uri: uri11, title: "title", tags: ["foo.bar"], style: [ "tag" ] } ] - }); - - do_print("foo -> default history, is star"); - setSuggestPrefsToFalse(); - Services.prefs.setBoolPref("browser.urlbar.suggest.history", true); - Services.prefs.setBoolPref("browser.urlbar.suggest.bookmark", true); - yield check_autocomplete({ - search: "foo", - matches: [ { uri: uri2, title: "foo.bar" }, - { uri: uri3, title: "title" }, - { uri: uri4, title: "foo.bar" }, - { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar"], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo -> default history, is star, is typed"); - setSuggestPrefsToFalse(); - Services.prefs.setBoolPref("browser.urlbar.suggest.history", true); - Services.prefs.setBoolPref("browser.urlbar.suggest.history.onlyTyped", true); - Services.prefs.setBoolPref("browser.urlbar.suggest.bookmark", true); - yield check_autocomplete({ - search: "foo", - matches: [ { uri: uri4, title: "foo.bar" }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo -> is star"); - setSuggestPrefsToFalse(); - Services.prefs.setBoolPref("browser.urlbar.suggest.history", false); - Services.prefs.setBoolPref("browser.urlbar.suggest.bookmark", true); - yield check_autocomplete({ - search: "foo", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - do_print("foo -> is star, is typed"); - setSuggestPrefsToFalse(); - // only typed should be ignored - Services.prefs.setBoolPref("browser.urlbar.suggest.history.onlyTyped", true); - Services.prefs.setBoolPref("browser.urlbar.suggest.bookmark", true); - yield check_autocomplete({ - search: "foo", - matches: [ { uri: uri6, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri7, title: "title", style: [ "bookmark" ] }, - { uri: uri8, title: "foo.bar", style: [ "bookmark" ] }, - { uri: uri9, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri10, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri11, title: "title", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] }, - { uri: uri12, title: "foo.bar", tags: [ "foo.bar" ], style: [ "bookmark-tag" ] } ] - }); - - yield cleanup(); -}); |