Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Side by Side Diff: chrome/browser/autocomplete/search_provider_unittest.cc

Issue 510783002: Rename AutocompleteProviderDelegate to AutocompleteProviderClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/omnibox/search_provider.h" 5 #include "components/omnibox/search_provider.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/strings/string16.h" 13 #include "base/strings/string16.h"
14 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
15 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
16 #include "base/strings/utf_string_conversions.h" 16 #include "base/strings/utf_string_conversions.h"
17 #include "base/time/time.h" 17 #include "base/time/time.h"
18 #include "build/build_config.h" 18 #include "build/build_config.h"
19 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h" 19 #include "chrome/browser/autocomplete/autocomplete_classifier_factory.h"
20 #include "chrome/browser/autocomplete/autocomplete_controller.h" 20 #include "chrome/browser/autocomplete/autocomplete_controller.h"
21 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_delegate.h" 21 #include "chrome/browser/autocomplete/chrome_autocomplete_provider_client.h"
22 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h" 22 #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h"
23 #include "chrome/browser/autocomplete/history_url_provider.h" 23 #include "chrome/browser/autocomplete/history_url_provider.h"
24 #include "chrome/browser/history/history_service.h" 24 #include "chrome/browser/history/history_service.h"
25 #include "chrome/browser/history/history_service_factory.h" 25 #include "chrome/browser/history/history_service_factory.h"
26 #include "chrome/browser/search_engines/template_url_service_factory.h" 26 #include "chrome/browser/search_engines/template_url_service_factory.h"
27 #include "chrome/browser/signin/signin_manager_factory.h" 27 #include "chrome/browser/signin/signin_manager_factory.h"
28 #include "chrome/browser/sync/profile_sync_service.h" 28 #include "chrome/browser/sync/profile_sync_service.h"
29 #include "chrome/browser/sync/profile_sync_service_factory.h" 29 #include "chrome/browser/sync/profile_sync_service_factory.h"
30 #include "chrome/common/chrome_switches.h" 30 #include "chrome/common/chrome_switches.h"
31 #include "chrome/common/pref_names.h" 31 #include "chrome/common/pref_names.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 virtual void RecordDeletionResult(bool success) OVERRIDE; 81 virtual void RecordDeletionResult(bool success) OVERRIDE;
82 bool is_success_; 82 bool is_success_;
83 DISALLOW_COPY_AND_ASSIGN(SearchProviderForTest); 83 DISALLOW_COPY_AND_ASSIGN(SearchProviderForTest);
84 }; 84 };
85 85
86 SearchProviderForTest::SearchProviderForTest( 86 SearchProviderForTest::SearchProviderForTest(
87 AutocompleteProviderListener* listener, 87 AutocompleteProviderListener* listener,
88 TemplateURLService* template_url_service, 88 TemplateURLService* template_url_service,
89 Profile* profile) 89 Profile* profile)
90 : SearchProvider(listener, template_url_service, 90 : SearchProvider(listener, template_url_service,
91 scoped_ptr<AutocompleteProviderDelegate>( 91 scoped_ptr<AutocompleteProviderClient>(
92 new ChromeAutocompleteProviderDelegate(profile))), 92 new ChromeAutocompleteProviderClient(profile))),
93 is_success_(false) { 93 is_success_(false) {
94 } 94 }
95 95
96 SearchProviderForTest::~SearchProviderForTest() { 96 SearchProviderForTest::~SearchProviderForTest() {
97 } 97 }
98 98
99 void SearchProviderForTest::RecordDeletionResult(bool success) { 99 void SearchProviderForTest::RecordDeletionResult(bool success) {
100 is_success_ = success; 100 is_success_ = success;
101 } 101 }
102 102
(...skipping 2839 matching lines...) Expand 10 before | Expand all | Expand 10 after
2942 template_url_data.SetURL("http://www.google.com/{searchTerms}"); 2942 template_url_data.SetURL("http://www.google.com/{searchTerms}");
2943 template_url_data.suggestions_url = "http://www.google.com/{searchTerms}"; 2943 template_url_data.suggestions_url = "http://www.google.com/{searchTerms}";
2944 template_url_data.instant_url = "http://does/not/exist?strk=1"; 2944 template_url_data.instant_url = "http://does/not/exist?strk=1";
2945 template_url_data.search_terms_replacement_key = "strk"; 2945 template_url_data.search_terms_replacement_key = "strk";
2946 template_url_data.id = SEARCH_ENGINE_GOOGLE; 2946 template_url_data.id = SEARCH_ENGINE_GOOGLE;
2947 TemplateURL google_template_url(template_url_data); 2947 TemplateURL google_template_url(template_url_data);
2948 2948
2949 // Create field trial. 2949 // Create field trial.
2950 CreateZeroSuggestFieldTrial(true); 2950 CreateZeroSuggestFieldTrial(true);
2951 2951
2952 ChromeAutocompleteProviderDelegate delegate(&profile_); 2952 ChromeAutocompleteProviderClient client(&profile_);
2953 2953
2954 // Not signed in. 2954 // Not signed in.
2955 EXPECT_FALSE(SearchProvider::CanSendURL( 2955 EXPECT_FALSE(SearchProvider::CanSendURL(
2956 GURL("http://www.google.com/search"), 2956 GURL("http://www.google.com/search"),
2957 GURL("https://www.google.com/complete/search"), &google_template_url, 2957 GURL("https://www.google.com/complete/search"), &google_template_url,
2958 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 2958 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
2959 SigninManagerBase* signin = SigninManagerFactory::GetForProfile(&profile_); 2959 SigninManagerBase* signin = SigninManagerFactory::GetForProfile(&profile_);
2960 signin->SetAuthenticatedUsername("test"); 2960 signin->SetAuthenticatedUsername("test");
2961 2961
2962 // All conditions should be met. 2962 // All conditions should be met.
2963 EXPECT_TRUE(SearchProvider::CanSendURL( 2963 EXPECT_TRUE(SearchProvider::CanSendURL(
2964 GURL("http://www.google.com/search"), 2964 GURL("http://www.google.com/search"),
2965 GURL("https://www.google.com/complete/search"), &google_template_url, 2965 GURL("https://www.google.com/complete/search"), &google_template_url,
2966 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 2966 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
2967 2967
2968 // Not in field trial. 2968 // Not in field trial.
2969 ResetFieldTrialList(); 2969 ResetFieldTrialList();
2970 CreateZeroSuggestFieldTrial(false); 2970 CreateZeroSuggestFieldTrial(false);
2971 EXPECT_FALSE(SearchProvider::CanSendURL( 2971 EXPECT_FALSE(SearchProvider::CanSendURL(
2972 GURL("http://www.google.com/search"), 2972 GURL("http://www.google.com/search"),
2973 GURL("https://www.google.com/complete/search"), &google_template_url, 2973 GURL("https://www.google.com/complete/search"), &google_template_url,
2974 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 2974 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
2975 ResetFieldTrialList(); 2975 ResetFieldTrialList();
2976 CreateZeroSuggestFieldTrial(true); 2976 CreateZeroSuggestFieldTrial(true);
2977 2977
2978 // Invalid page URL. 2978 // Invalid page URL.
2979 EXPECT_FALSE(SearchProvider::CanSendURL( 2979 EXPECT_FALSE(SearchProvider::CanSendURL(
2980 GURL("badpageurl"), 2980 GURL("badpageurl"),
2981 GURL("https://www.google.com/complete/search"), &google_template_url, 2981 GURL("https://www.google.com/complete/search"), &google_template_url,
2982 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 2982 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
2983 2983
2984 // Invalid page classification. 2984 // Invalid page classification.
2985 EXPECT_FALSE(SearchProvider::CanSendURL( 2985 EXPECT_FALSE(SearchProvider::CanSendURL(
2986 GURL("http://www.google.com/search"), 2986 GURL("http://www.google.com/search"),
2987 GURL("https://www.google.com/complete/search"), &google_template_url, 2987 GURL("https://www.google.com/complete/search"), &google_template_url,
2988 metrics::OmniboxEventProto::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS, 2988 metrics::OmniboxEventProto::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS,
2989 SearchTermsData(), &delegate)); 2989 SearchTermsData(), &client));
2990 2990
2991 // Invalid page classification. 2991 // Invalid page classification.
2992 EXPECT_FALSE(SearchProvider::CanSendURL( 2992 EXPECT_FALSE(SearchProvider::CanSendURL(
2993 GURL("http://www.google.com/search"), 2993 GURL("http://www.google.com/search"),
2994 GURL("https://www.google.com/complete/search"), &google_template_url, 2994 GURL("https://www.google.com/complete/search"), &google_template_url,
2995 metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS, 2995 metrics::OmniboxEventProto::INSTANT_NTP_WITH_OMNIBOX_AS_STARTING_FOCUS,
2996 SearchTermsData(), &delegate)); 2996 SearchTermsData(), &client));
2997 2997
2998 // HTTPS page URL on same domain as provider. 2998 // HTTPS page URL on same domain as provider.
2999 EXPECT_TRUE(SearchProvider::CanSendURL( 2999 EXPECT_TRUE(SearchProvider::CanSendURL(
3000 GURL("https://www.google.com/search"), 3000 GURL("https://www.google.com/search"),
3001 GURL("https://www.google.com/complete/search"), 3001 GURL("https://www.google.com/complete/search"),
3002 &google_template_url, metrics::OmniboxEventProto::OTHER, 3002 &google_template_url, metrics::OmniboxEventProto::OTHER,
3003 SearchTermsData(), &delegate)); 3003 SearchTermsData(), &client));
3004 3004
3005 // Non-HTTP[S] page URL on same domain as provider. 3005 // Non-HTTP[S] page URL on same domain as provider.
3006 EXPECT_FALSE(SearchProvider::CanSendURL( 3006 EXPECT_FALSE(SearchProvider::CanSendURL(
3007 GURL("ftp://www.google.com/search"), 3007 GURL("ftp://www.google.com/search"),
3008 GURL("https://www.google.com/complete/search"), &google_template_url, 3008 GURL("https://www.google.com/complete/search"), &google_template_url,
3009 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3009 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3010 3010
3011 // Non-HTTP page URL on different domain. 3011 // Non-HTTP page URL on different domain.
3012 EXPECT_FALSE(SearchProvider::CanSendURL( 3012 EXPECT_FALSE(SearchProvider::CanSendURL(
3013 GURL("https://www.notgoogle.com/search"), 3013 GURL("https://www.notgoogle.com/search"),
3014 GURL("https://www.google.com/complete/search"), &google_template_url, 3014 GURL("https://www.google.com/complete/search"), &google_template_url,
3015 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3015 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3016 3016
3017 // Non-HTTPS provider. 3017 // Non-HTTPS provider.
3018 EXPECT_FALSE(SearchProvider::CanSendURL( 3018 EXPECT_FALSE(SearchProvider::CanSendURL(
3019 GURL("http://www.google.com/search"), 3019 GURL("http://www.google.com/search"),
3020 GURL("http://www.google.com/complete/search"), &google_template_url, 3020 GURL("http://www.google.com/complete/search"), &google_template_url,
3021 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3021 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3022 3022
3023 // Suggest disabled. 3023 // Suggest disabled.
3024 profile_.GetPrefs()->SetBoolean(prefs::kSearchSuggestEnabled, false); 3024 profile_.GetPrefs()->SetBoolean(prefs::kSearchSuggestEnabled, false);
3025 EXPECT_FALSE(SearchProvider::CanSendURL( 3025 EXPECT_FALSE(SearchProvider::CanSendURL(
3026 GURL("http://www.google.com/search"), 3026 GURL("http://www.google.com/search"),
3027 GURL("https://www.google.com/complete/search"), &google_template_url, 3027 GURL("https://www.google.com/complete/search"), &google_template_url,
3028 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3028 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3029 profile_.GetPrefs()->SetBoolean(prefs::kSearchSuggestEnabled, true); 3029 profile_.GetPrefs()->SetBoolean(prefs::kSearchSuggestEnabled, true);
3030 3030
3031 // Incognito. 3031 // Incognito.
3032 ChromeAutocompleteProviderDelegate delegate_incognito( 3032 ChromeAutocompleteProviderClient client_incognito(
3033 profile_.GetOffTheRecordProfile()); 3033 profile_.GetOffTheRecordProfile());
3034 EXPECT_FALSE(SearchProvider::CanSendURL( 3034 EXPECT_FALSE(SearchProvider::CanSendURL(
3035 GURL("http://www.google.com/search"), 3035 GURL("http://www.google.com/search"),
3036 GURL("https://www.google.com/complete/search"), &google_template_url, 3036 GURL("https://www.google.com/complete/search"), &google_template_url,
3037 metrics::OmniboxEventProto::OTHER, SearchTermsData(), 3037 metrics::OmniboxEventProto::OTHER, SearchTermsData(),
3038 &delegate_incognito)); 3038 &client_incognito));
3039 3039
3040 // Tab sync not enabled. 3040 // Tab sync not enabled.
3041 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncKeepEverythingSynced, 3041 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncKeepEverythingSynced,
3042 false); 3042 false);
3043 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncTabs, false); 3043 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncTabs, false);
3044 EXPECT_FALSE(SearchProvider::CanSendURL( 3044 EXPECT_FALSE(SearchProvider::CanSendURL(
3045 GURL("http://www.google.com/search"), 3045 GURL("http://www.google.com/search"),
3046 GURL("https://www.google.com/complete/search"), &google_template_url, 3046 GURL("https://www.google.com/complete/search"), &google_template_url,
3047 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3047 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3048 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncTabs, true); 3048 profile_.GetPrefs()->SetBoolean(sync_driver::prefs::kSyncTabs, true);
3049 3049
3050 // Tab sync is encrypted. 3050 // Tab sync is encrypted.
3051 ProfileSyncService* service = 3051 ProfileSyncService* service =
3052 ProfileSyncServiceFactory::GetInstance()->GetForProfile(&profile_); 3052 ProfileSyncServiceFactory::GetInstance()->GetForProfile(&profile_);
3053 syncer::ModelTypeSet encrypted_types = service->GetEncryptedDataTypes(); 3053 syncer::ModelTypeSet encrypted_types = service->GetEncryptedDataTypes();
3054 encrypted_types.Put(syncer::SESSIONS); 3054 encrypted_types.Put(syncer::SESSIONS);
3055 service->OnEncryptedTypesChanged(encrypted_types, false); 3055 service->OnEncryptedTypesChanged(encrypted_types, false);
3056 EXPECT_FALSE(SearchProvider::CanSendURL( 3056 EXPECT_FALSE(SearchProvider::CanSendURL(
3057 GURL("http://www.google.com/search"), 3057 GURL("http://www.google.com/search"),
3058 GURL("https://www.google.com/complete/search"), &google_template_url, 3058 GURL("https://www.google.com/complete/search"), &google_template_url,
3059 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3059 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3060 encrypted_types.Remove(syncer::SESSIONS); 3060 encrypted_types.Remove(syncer::SESSIONS);
3061 service->OnEncryptedTypesChanged(encrypted_types, false); 3061 service->OnEncryptedTypesChanged(encrypted_types, false);
3062 3062
3063 // Check that there were no side effects from previous tests. 3063 // Check that there were no side effects from previous tests.
3064 EXPECT_TRUE(SearchProvider::CanSendURL( 3064 EXPECT_TRUE(SearchProvider::CanSendURL(
3065 GURL("http://www.google.com/search"), 3065 GURL("http://www.google.com/search"),
3066 GURL("https://www.google.com/complete/search"), &google_template_url, 3066 GURL("https://www.google.com/complete/search"), &google_template_url,
3067 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &delegate)); 3067 metrics::OmniboxEventProto::OTHER, SearchTermsData(), &client));
3068 } 3068 }
3069 3069
3070 TEST_F(SearchProviderTest, TestDeleteMatch) { 3070 TEST_F(SearchProviderTest, TestDeleteMatch) {
3071 AutocompleteMatch match( 3071 AutocompleteMatch match(
3072 provider_.get(), 0, true, AutocompleteMatchType::SEARCH_SUGGEST); 3072 provider_.get(), 0, true, AutocompleteMatchType::SEARCH_SUGGEST);
3073 match.RecordAdditionalInfo( 3073 match.RecordAdditionalInfo(
3074 SearchProvider::kDeletionUrlKey, 3074 SearchProvider::kDeletionUrlKey,
3075 "https://www.google.com/complete/deleteitem?q=foo"); 3075 "https://www.google.com/complete/deleteitem?q=foo");
3076 3076
3077 // Test a successful deletion request. 3077 // Test a successful deletion request.
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
3260 AutocompleteInput input(base::ASCIIToUTF16("weather l"), 3260 AutocompleteInput input(base::ASCIIToUTF16("weather l"),
3261 base::string16::npos, base::string16(), GURL(), 3261 base::string16::npos, base::string16(), GURL(),
3262 metrics::OmniboxEventProto::INVALID_SPEC, false, 3262 metrics::OmniboxEventProto::INVALID_SPEC, false,
3263 false, true, true, 3263 false, true, true,
3264 ChromeAutocompleteSchemeClassifier(&profile_)); 3264 ChromeAutocompleteSchemeClassifier(&profile_));
3265 provider_->DoAnswersQuery(input); 3265 provider_->DoAnswersQuery(input);
3266 EXPECT_EQ(base::ASCIIToUTF16("weather los angeles"), 3266 EXPECT_EQ(base::ASCIIToUTF16("weather los angeles"),
3267 provider_->prefetch_data_.full_query_text); 3267 provider_->prefetch_data_.full_query_text);
3268 EXPECT_EQ(base::ASCIIToUTF16("2334"), provider_->prefetch_data_.query_type); 3268 EXPECT_EQ(base::ASCIIToUTF16("2334"), provider_->prefetch_data_.query_type);
3269 } 3269 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698