OLD | NEW |
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" |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 284 TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
285 &profile_, &TemplateURLServiceFactory::BuildInstanceFor); | 285 &profile_, &TemplateURLServiceFactory::BuildInstanceFor); |
286 | 286 |
287 TemplateURLService* turl_model = | 287 TemplateURLService* turl_model = |
288 TemplateURLServiceFactory::GetForProfile(&profile_); | 288 TemplateURLServiceFactory::GetForProfile(&profile_); |
289 | 289 |
290 turl_model->Load(); | 290 turl_model->Load(); |
291 | 291 |
292 // Reset the default TemplateURL. | 292 // Reset the default TemplateURL. |
293 TemplateURLData data; | 293 TemplateURLData data; |
294 data.short_name = ASCIIToUTF16("t"); | 294 data.SetShortName(ASCIIToUTF16("t")); |
295 data.SetURL("http://defaultturl/{searchTerms}"); | 295 data.SetURL("http://defaultturl/{searchTerms}"); |
296 data.suggestions_url = "http://defaultturl2/{searchTerms}"; | 296 data.suggestions_url = "http://defaultturl2/{searchTerms}"; |
297 data.instant_url = "http://does/not/exist?strk=1"; | 297 data.instant_url = "http://does/not/exist?strk=1"; |
298 data.search_terms_replacement_key = "strk"; | 298 data.search_terms_replacement_key = "strk"; |
299 default_t_url_ = new TemplateURL(data); | 299 default_t_url_ = new TemplateURL(data); |
300 turl_model->Add(default_t_url_); | 300 turl_model->Add(default_t_url_); |
301 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); | 301 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); |
302 TemplateURLID default_provider_id = default_t_url_->id(); | 302 TemplateURLID default_provider_id = default_t_url_->id(); |
303 ASSERT_NE(0, default_provider_id); | 303 ASSERT_NE(0, default_provider_id); |
304 | 304 |
305 // Add url1, with search term term1_. | 305 // Add url1, with search term term1_. |
306 term1_url_ = AddSearchToHistory(default_t_url_, term1_, 1); | 306 term1_url_ = AddSearchToHistory(default_t_url_, term1_, 1); |
307 | 307 |
308 // Create another TemplateURL. | 308 // Create another TemplateURL. |
309 data.short_name = ASCIIToUTF16("k"); | 309 data.SetShortName(ASCIIToUTF16("k")); |
310 data.SetKeyword(ASCIIToUTF16("k")); | 310 data.SetKeyword(ASCIIToUTF16("k")); |
311 data.SetURL("http://keyword/{searchTerms}"); | 311 data.SetURL("http://keyword/{searchTerms}"); |
312 data.suggestions_url = "http://suggest_keyword/{searchTerms}"; | 312 data.suggestions_url = "http://suggest_keyword/{searchTerms}"; |
313 keyword_t_url_ = new TemplateURL(data); | 313 keyword_t_url_ = new TemplateURL(data); |
314 turl_model->Add(keyword_t_url_); | 314 turl_model->Add(keyword_t_url_); |
315 ASSERT_NE(0, keyword_t_url_->id()); | 315 ASSERT_NE(0, keyword_t_url_->id()); |
316 | 316 |
317 // Add a page and search term for keyword_t_url_. | 317 // Add a page and search term for keyword_t_url_. |
318 keyword_url_ = AddSearchToHistory(keyword_t_url_, keyword_term_, 1); | 318 keyword_url_ = AddSearchToHistory(keyword_t_url_, keyword_term_, 1); |
319 | 319 |
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1266 RunTest(cases, arraysize(cases), true); | 1266 RunTest(cases, arraysize(cases), true); |
1267 } | 1267 } |
1268 | 1268 |
1269 // Ensures command-line flags are reflected in the URLs the search provider | 1269 // Ensures command-line flags are reflected in the URLs the search provider |
1270 // generates. | 1270 // generates. |
1271 TEST_F(SearchProviderTest, CommandLineOverrides) { | 1271 TEST_F(SearchProviderTest, CommandLineOverrides) { |
1272 TemplateURLService* turl_model = | 1272 TemplateURLService* turl_model = |
1273 TemplateURLServiceFactory::GetForProfile(&profile_); | 1273 TemplateURLServiceFactory::GetForProfile(&profile_); |
1274 | 1274 |
1275 TemplateURLData data; | 1275 TemplateURLData data; |
1276 data.short_name = ASCIIToUTF16("default"); | 1276 data.SetShortName(ASCIIToUTF16("default")); |
1277 data.SetKeyword(data.short_name); | 1277 data.SetKeyword(data.short_name()); |
1278 data.SetURL("{google:baseURL}{searchTerms}"); | 1278 data.SetURL("{google:baseURL}{searchTerms}"); |
1279 default_t_url_ = new TemplateURL(data); | 1279 default_t_url_ = new TemplateURL(data); |
1280 turl_model->Add(default_t_url_); | 1280 turl_model->Add(default_t_url_); |
1281 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); | 1281 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); |
1282 | 1282 |
1283 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 1283 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
1284 switches::kGoogleBaseURL, "http://www.bar.com/"); | 1284 switches::kGoogleBaseURL, "http://www.bar.com/"); |
1285 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( | 1285 base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( |
1286 switches::kExtraSearchQueryParams, "a=b"); | 1286 switches::kExtraSearchQueryParams, "a=b"); |
1287 | 1287 |
(...skipping 1930 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3218 QueryForInput(term, true, false); | 3218 QueryForInput(term, true, false); |
3219 ASSERT_FALSE(provider_->matches().empty()); | 3219 ASSERT_FALSE(provider_->matches().empty()); |
3220 EXPECT_EQ(AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, | 3220 EXPECT_EQ(AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, |
3221 provider_->matches()[0].type); | 3221 provider_->matches()[0].type); |
3222 ASSERT_TRUE(provider_->matches()[0].search_terms_args != NULL); | 3222 ASSERT_TRUE(provider_->matches()[0].search_terms_args != NULL); |
3223 EXPECT_TRUE(provider_->matches()[0].search_terms_args->bookmark_bar_pinned); | 3223 EXPECT_TRUE(provider_->matches()[0].search_terms_args->bookmark_bar_pinned); |
3224 } | 3224 } |
3225 | 3225 |
3226 TEST_F(SearchProviderTest, CanSendURL) { | 3226 TEST_F(SearchProviderTest, CanSendURL) { |
3227 TemplateURLData template_url_data; | 3227 TemplateURLData template_url_data; |
3228 template_url_data.short_name = ASCIIToUTF16("t"); | 3228 template_url_data.SetShortName(ASCIIToUTF16("t")); |
3229 template_url_data.SetURL("http://www.google.com/{searchTerms}"); | 3229 template_url_data.SetURL("http://www.google.com/{searchTerms}"); |
3230 template_url_data.suggestions_url = "http://www.google.com/{searchTerms}"; | 3230 template_url_data.suggestions_url = "http://www.google.com/{searchTerms}"; |
3231 template_url_data.instant_url = "http://does/not/exist?strk=1"; | 3231 template_url_data.instant_url = "http://does/not/exist?strk=1"; |
3232 template_url_data.search_terms_replacement_key = "strk"; | 3232 template_url_data.search_terms_replacement_key = "strk"; |
3233 template_url_data.id = SEARCH_ENGINE_GOOGLE; | 3233 template_url_data.id = SEARCH_ENGINE_GOOGLE; |
3234 TemplateURL google_template_url(template_url_data); | 3234 TemplateURL google_template_url(template_url_data); |
3235 | 3235 |
3236 // Create field trial. | 3236 // Create field trial. |
3237 CreateFieldTrial(OmniboxFieldTrial::kZeroSuggestRule, true); | 3237 CreateFieldTrial(OmniboxFieldTrial::kZeroSuggestRule, true); |
3238 | 3238 |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3443 EXPECT_EQ(1U, match_avid.duplicate_matches.size()); | 3443 EXPECT_EQ(1U, match_avid.duplicate_matches.size()); |
3444 | 3444 |
3445 EXPECT_EQ(0U, match_apricot.duplicate_matches.size()); | 3445 EXPECT_EQ(0U, match_apricot.duplicate_matches.size()); |
3446 } | 3446 } |
3447 | 3447 |
3448 TEST_F(SearchProviderTest, SuggestQueryUsesToken) { | 3448 TEST_F(SearchProviderTest, SuggestQueryUsesToken) { |
3449 TemplateURLService* turl_model = | 3449 TemplateURLService* turl_model = |
3450 TemplateURLServiceFactory::GetForProfile(&profile_); | 3450 TemplateURLServiceFactory::GetForProfile(&profile_); |
3451 | 3451 |
3452 TemplateURLData data; | 3452 TemplateURLData data; |
3453 data.short_name = ASCIIToUTF16("default"); | 3453 data.SetShortName(ASCIIToUTF16("default")); |
3454 data.SetKeyword(data.short_name); | 3454 data.SetKeyword(data.short_name()); |
3455 data.SetURL("http://example/{searchTerms}{google:sessionToken}"); | 3455 data.SetURL("http://example/{searchTerms}{google:sessionToken}"); |
3456 data.suggestions_url = | 3456 data.suggestions_url = |
3457 "http://suggest/?q={searchTerms}&{google:sessionToken}"; | 3457 "http://suggest/?q={searchTerms}&{google:sessionToken}"; |
3458 default_t_url_ = new TemplateURL(data); | 3458 default_t_url_ = new TemplateURL(data); |
3459 turl_model->Add(default_t_url_); | 3459 turl_model->Add(default_t_url_); |
3460 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); | 3460 turl_model->SetUserSelectedDefaultSearchProvider(default_t_url_); |
3461 | 3461 |
3462 base::string16 term = term1_.substr(0, term1_.length() - 1); | 3462 base::string16 term = term1_.substr(0, term1_.length() - 1); |
3463 QueryForInput(term, false, false); | 3463 QueryForInput(term, false, false); |
3464 | 3464 |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3592 | 3592 |
3593 TEST_F(SearchProviderTest, DoesNotProvideOnFocus) { | 3593 TEST_F(SearchProviderTest, DoesNotProvideOnFocus) { |
3594 AutocompleteInput input(base::ASCIIToUTF16("f"), base::string16::npos, | 3594 AutocompleteInput input(base::ASCIIToUTF16("f"), base::string16::npos, |
3595 std::string(), GURL(), | 3595 std::string(), GURL(), |
3596 metrics::OmniboxEventProto::INVALID_SPEC, false, | 3596 metrics::OmniboxEventProto::INVALID_SPEC, false, |
3597 true, true, true, | 3597 true, true, true, |
3598 ChromeAutocompleteSchemeClassifier(&profile_)); | 3598 ChromeAutocompleteSchemeClassifier(&profile_)); |
3599 provider_->Start(input, false, true); | 3599 provider_->Start(input, false, true); |
3600 EXPECT_TRUE(provider_->matches().empty()); | 3600 EXPECT_TRUE(provider_->matches().empty()); |
3601 } | 3601 } |
OLD | NEW |