OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "chrome/browser/autocomplete/autocomplete_provider.h" | 5 #include "chrome/browser/autocomplete/autocomplete_provider.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 bool minimal_changes) { | 81 bool minimal_changes) { |
82 if (minimal_changes) | 82 if (minimal_changes) |
83 return; | 83 return; |
84 | 84 |
85 matches_.clear(); | 85 matches_.clear(); |
86 | 86 |
87 // Generate 4 results synchronously, the rest later. | 87 // Generate 4 results synchronously, the rest later. |
88 AddResults(0, 1); | 88 AddResults(0, 1); |
89 AddResultsWithSearchTermsArgs( | 89 AddResultsWithSearchTermsArgs( |
90 1, 1, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, | 90 1, 1, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, |
91 TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("echo"))); | 91 TemplateURLRef::SearchTermsArgs(base::ASCIIToUTF16("echo"))); |
92 AddResultsWithSearchTermsArgs( | 92 AddResultsWithSearchTermsArgs( |
93 2, 1, AutocompleteMatchType::NAVSUGGEST, | 93 2, 1, AutocompleteMatchType::NAVSUGGEST, |
94 TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("nav"))); | 94 TemplateURLRef::SearchTermsArgs(base::ASCIIToUTF16("nav"))); |
95 AddResultsWithSearchTermsArgs( | 95 AddResultsWithSearchTermsArgs( |
96 3, 1, AutocompleteMatchType::SEARCH_SUGGEST, | 96 3, 1, AutocompleteMatchType::SEARCH_SUGGEST, |
97 TemplateURLRef::SearchTermsArgs(ASCIIToUTF16("query"))); | 97 TemplateURLRef::SearchTermsArgs(base::ASCIIToUTF16("query"))); |
98 | 98 |
99 if (input.matches_requested() == AutocompleteInput::ALL_MATCHES) { | 99 if (input.matches_requested() == AutocompleteInput::ALL_MATCHES) { |
100 done_ = false; | 100 done_ = false; |
101 base::MessageLoop::current()->PostTask( | 101 base::MessageLoop::current()->PostTask( |
102 FROM_HERE, base::Bind(&TestProvider::Run, this)); | 102 FROM_HERE, base::Bind(&TestProvider::Run, this)); |
103 } | 103 } |
104 } | 104 } |
105 | 105 |
106 void TestProvider::Run() { | 106 void TestProvider::Run() { |
107 DCHECK_GT(kResultsPerProvider, 0U); | 107 DCHECK_GT(kResultsPerProvider, 0U); |
(...skipping 12 matching lines...) Expand all Loading... |
120 } | 120 } |
121 | 121 |
122 void TestProvider::AddResultsWithSearchTermsArgs( | 122 void TestProvider::AddResultsWithSearchTermsArgs( |
123 int start_at, | 123 int start_at, |
124 int num, | 124 int num, |
125 AutocompleteMatch::Type type, | 125 AutocompleteMatch::Type type, |
126 const TemplateURLRef::SearchTermsArgs& search_terms_args) { | 126 const TemplateURLRef::SearchTermsArgs& search_terms_args) { |
127 for (int i = start_at; i < num; i++) { | 127 for (int i = start_at; i < num; i++) { |
128 AutocompleteMatch match(this, relevance_ - i, false, type); | 128 AutocompleteMatch match(this, relevance_ - i, false, type); |
129 | 129 |
130 match.fill_into_edit = prefix_ + UTF8ToUTF16(base::IntToString(i)); | 130 match.fill_into_edit = prefix_ + base::UTF8ToUTF16(base::IntToString(i)); |
131 match.destination_url = GURL(UTF16ToUTF8(match.fill_into_edit)); | 131 match.destination_url = GURL(base::UTF16ToUTF8(match.fill_into_edit)); |
132 match.allowed_to_be_default_match = true; | 132 match.allowed_to_be_default_match = true; |
133 | 133 |
134 match.contents = match.fill_into_edit; | 134 match.contents = match.fill_into_edit; |
135 match.contents_class.push_back( | 135 match.contents_class.push_back( |
136 ACMatchClassification(0, ACMatchClassification::NONE)); | 136 ACMatchClassification(0, ACMatchClassification::NONE)); |
137 match.description = match.fill_into_edit; | 137 match.description = match.fill_into_edit; |
138 match.description_class.push_back( | 138 match.description_class.push_back( |
139 ACMatchClassification(0, ACMatchClassification::NONE)); | 139 ACMatchClassification(0, ACMatchClassification::NONE)); |
140 match.search_terms_args.reset( | 140 match.search_terms_args.reset( |
141 new TemplateURLRef::SearchTermsArgs(search_terms_args)); | 141 new TemplateURLRef::SearchTermsArgs(search_terms_args)); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 // TODO: Move it outside this method, after refactoring the existing | 235 // TODO: Move it outside this method, after refactoring the existing |
236 // unit tests. Specifically: | 236 // unit tests. Specifically: |
237 // (1) Make sure that AutocompleteMatch.keyword is set iff there is | 237 // (1) Make sure that AutocompleteMatch.keyword is set iff there is |
238 // a corresponding call to RegisterTemplateURL; otherwise the | 238 // a corresponding call to RegisterTemplateURL; otherwise the |
239 // controller flow will crash; this practically means that | 239 // controller flow will crash; this practically means that |
240 // RunTests/ResetControllerXXX/RegisterTemplateURL should | 240 // RunTests/ResetControllerXXX/RegisterTemplateURL should |
241 // be coordinated with each other. | 241 // be coordinated with each other. |
242 // (2) Inject test arguments rather than rely on the hardcoded values, e.g. | 242 // (2) Inject test arguments rather than rely on the hardcoded values, e.g. |
243 // don't rely on kResultsPerProvided and default relevance ordering | 243 // don't rely on kResultsPerProvided and default relevance ordering |
244 // (B > A). | 244 // (B > A). |
245 RegisterTemplateURL(ASCIIToUTF16(kTestTemplateURLKeyword), | 245 RegisterTemplateURL(base::ASCIIToUTF16(kTestTemplateURLKeyword), |
246 "http://aqs/{searchTerms}/{google:assistedQueryStats}"); | 246 "http://aqs/{searchTerms}/{google:assistedQueryStats}"); |
247 | 247 |
248 ACProviders providers; | 248 ACProviders providers; |
249 | 249 |
250 // Construct two new providers, with either the same or different prefixes. | 250 // Construct two new providers, with either the same or different prefixes. |
251 TestProvider* provider1 = new TestProvider( | 251 TestProvider* provider1 = new TestProvider( |
252 kResultsPerProvider, | 252 kResultsPerProvider, |
253 ASCIIToUTF16("http://a"), | 253 base::ASCIIToUTF16("http://a"), |
254 &profile_, | 254 &profile_, |
255 ASCIIToUTF16(kTestTemplateURLKeyword)); | 255 base::ASCIIToUTF16(kTestTemplateURLKeyword)); |
256 provider1->AddRef(); | 256 provider1->AddRef(); |
257 providers.push_back(provider1); | 257 providers.push_back(provider1); |
258 | 258 |
259 TestProvider* provider2 = new TestProvider( | 259 TestProvider* provider2 = new TestProvider( |
260 kResultsPerProvider * 2, | 260 kResultsPerProvider * 2, |
261 same_destinations ? ASCIIToUTF16("http://a") : ASCIIToUTF16("http://b"), | 261 same_destinations ? base::ASCIIToUTF16("http://a") |
| 262 : base::ASCIIToUTF16("http://b"), |
262 &profile_, | 263 &profile_, |
263 base::string16()); | 264 base::string16()); |
264 provider2->AddRef(); | 265 provider2->AddRef(); |
265 providers.push_back(provider2); | 266 providers.push_back(provider2); |
266 | 267 |
267 // Reset the controller to contain our new providers. | 268 // Reset the controller to contain our new providers. |
268 controller_.reset(new AutocompleteController(&profile_, NULL, 0)); | 269 controller_.reset(new AutocompleteController(&profile_, NULL, 0)); |
269 // We're going to swap the providers vector, but the old vector should be | 270 // We're going to swap the providers vector, but the old vector should be |
270 // empty so no elements need to be freed at this point. | 271 // empty so no elements need to be freed at this point. |
271 EXPECT_TRUE(controller_->providers_.empty()); | 272 EXPECT_TRUE(controller_->providers_.empty()); |
(...skipping 23 matching lines...) Expand all Loading... |
295 data.SetURL("http://defaultturl/{searchTerms}"); | 296 data.SetURL("http://defaultturl/{searchTerms}"); |
296 TemplateURL* default_t_url = new TemplateURL(&profile_, data); | 297 TemplateURL* default_t_url = new TemplateURL(&profile_, data); |
297 TemplateURLService* turl_model = | 298 TemplateURLService* turl_model = |
298 TemplateURLServiceFactory::GetForProfile(&profile_); | 299 TemplateURLServiceFactory::GetForProfile(&profile_); |
299 turl_model->Add(default_t_url); | 300 turl_model->Add(default_t_url); |
300 turl_model->SetDefaultSearchProvider(default_t_url); | 301 turl_model->SetDefaultSearchProvider(default_t_url); |
301 TemplateURLID default_provider_id = default_t_url->id(); | 302 TemplateURLID default_provider_id = default_t_url->id(); |
302 ASSERT_NE(0, default_provider_id); | 303 ASSERT_NE(0, default_provider_id); |
303 | 304 |
304 // Create another TemplateURL for KeywordProvider. | 305 // Create another TemplateURL for KeywordProvider. |
305 data.short_name = ASCIIToUTF16("k"); | 306 data.short_name = base::ASCIIToUTF16("k"); |
306 data.SetKeyword(ASCIIToUTF16("k")); | 307 data.SetKeyword(base::ASCIIToUTF16("k")); |
307 data.SetURL("http://keyword/{searchTerms}"); | 308 data.SetURL("http://keyword/{searchTerms}"); |
308 TemplateURL* keyword_t_url = new TemplateURL(&profile_, data); | 309 TemplateURL* keyword_t_url = new TemplateURL(&profile_, data); |
309 turl_model->Add(keyword_t_url); | 310 turl_model->Add(keyword_t_url); |
310 ASSERT_NE(0, keyword_t_url->id()); | 311 ASSERT_NE(0, keyword_t_url->id()); |
311 | 312 |
312 controller_.reset(new AutocompleteController( | 313 controller_.reset(new AutocompleteController( |
313 &profile_, NULL, | 314 &profile_, NULL, |
314 AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH)); | 315 AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH)); |
315 } | 316 } |
316 | 317 |
317 void AutocompleteProviderTest::ResetControllerWithKeywordProvider() { | 318 void AutocompleteProviderTest::ResetControllerWithKeywordProvider() { |
318 TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 319 TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
319 &profile_, &TemplateURLServiceFactory::BuildInstanceFor); | 320 &profile_, &TemplateURLServiceFactory::BuildInstanceFor); |
320 | 321 |
321 TemplateURLService* turl_model = | 322 TemplateURLService* turl_model = |
322 TemplateURLServiceFactory::GetForProfile(&profile_); | 323 TemplateURLServiceFactory::GetForProfile(&profile_); |
323 | 324 |
324 // Create a TemplateURL for KeywordProvider. | 325 // Create a TemplateURL for KeywordProvider. |
325 TemplateURLData data; | 326 TemplateURLData data; |
326 data.short_name = ASCIIToUTF16("foo.com"); | 327 data.short_name = base::ASCIIToUTF16("foo.com"); |
327 data.SetKeyword(ASCIIToUTF16("foo.com")); | 328 data.SetKeyword(base::ASCIIToUTF16("foo.com")); |
328 data.SetURL("http://foo.com/{searchTerms}"); | 329 data.SetURL("http://foo.com/{searchTerms}"); |
329 TemplateURL* keyword_t_url = new TemplateURL(&profile_, data); | 330 TemplateURL* keyword_t_url = new TemplateURL(&profile_, data); |
330 turl_model->Add(keyword_t_url); | 331 turl_model->Add(keyword_t_url); |
331 ASSERT_NE(0, keyword_t_url->id()); | 332 ASSERT_NE(0, keyword_t_url->id()); |
332 | 333 |
333 // Create another TemplateURL for KeywordProvider. | 334 // Create another TemplateURL for KeywordProvider. |
334 data.short_name = ASCIIToUTF16("bar.com"); | 335 data.short_name = base::ASCIIToUTF16("bar.com"); |
335 data.SetKeyword(ASCIIToUTF16("bar.com")); | 336 data.SetKeyword(base::ASCIIToUTF16("bar.com")); |
336 data.SetURL("http://bar.com/{searchTerms}"); | 337 data.SetURL("http://bar.com/{searchTerms}"); |
337 keyword_t_url = new TemplateURL(&profile_, data); | 338 keyword_t_url = new TemplateURL(&profile_, data); |
338 turl_model->Add(keyword_t_url); | 339 turl_model->Add(keyword_t_url); |
339 ASSERT_NE(0, keyword_t_url->id()); | 340 ASSERT_NE(0, keyword_t_url->id()); |
340 | 341 |
341 controller_.reset(new AutocompleteController( | 342 controller_.reset(new AutocompleteController( |
342 &profile_, NULL, AutocompleteProvider::TYPE_KEYWORD)); | 343 &profile_, NULL, AutocompleteProvider::TYPE_KEYWORD)); |
343 } | 344 } |
344 | 345 |
345 void AutocompleteProviderTest::RunTest() { | 346 void AutocompleteProviderTest::RunTest() { |
346 RunQuery(ASCIIToUTF16("a")); | 347 RunQuery(base::ASCIIToUTF16("a")); |
347 } | 348 } |
348 | 349 |
349 void AutocompleteProviderTest::RunRedundantKeywordTest( | 350 void AutocompleteProviderTest::RunRedundantKeywordTest( |
350 const KeywordTestData* match_data, | 351 const KeywordTestData* match_data, |
351 size_t size) { | 352 size_t size) { |
352 ACMatches matches; | 353 ACMatches matches; |
353 for (size_t i = 0; i < size; ++i) { | 354 for (size_t i = 0; i < size; ++i) { |
354 AutocompleteMatch match; | 355 AutocompleteMatch match; |
355 match.relevance = 1000; // Arbitrary non-zero value. | 356 match.relevance = 1000; // Arbitrary non-zero value. |
356 match.allowed_to_be_default_match = true; | 357 match.allowed_to_be_default_match = true; |
(...skipping 16 matching lines...) Expand all Loading... |
373 void AutocompleteProviderTest::RunAssistedQueryStatsTest( | 374 void AutocompleteProviderTest::RunAssistedQueryStatsTest( |
374 const AssistedQueryStatsTestData* aqs_test_data, | 375 const AssistedQueryStatsTestData* aqs_test_data, |
375 size_t size) { | 376 size_t size) { |
376 // Prepare input. | 377 // Prepare input. |
377 const size_t kMaxRelevance = 1000; | 378 const size_t kMaxRelevance = 1000; |
378 ACMatches matches; | 379 ACMatches matches; |
379 for (size_t i = 0; i < size; ++i) { | 380 for (size_t i = 0; i < size; ++i) { |
380 AutocompleteMatch match(NULL, kMaxRelevance - i, false, | 381 AutocompleteMatch match(NULL, kMaxRelevance - i, false, |
381 aqs_test_data[i].match_type); | 382 aqs_test_data[i].match_type); |
382 match.allowed_to_be_default_match = true; | 383 match.allowed_to_be_default_match = true; |
383 match.keyword = ASCIIToUTF16(kTestTemplateURLKeyword); | 384 match.keyword = base::ASCIIToUTF16(kTestTemplateURLKeyword); |
384 match.search_terms_args.reset( | 385 match.search_terms_args.reset( |
385 new TemplateURLRef::SearchTermsArgs(base::string16())); | 386 new TemplateURLRef::SearchTermsArgs(base::string16())); |
386 matches.push_back(match); | 387 matches.push_back(match); |
387 } | 388 } |
388 result_.Reset(); | 389 result_.Reset(); |
389 result_.AppendMatches(matches); | 390 result_.AppendMatches(matches); |
390 | 391 |
391 // Update AQS. | 392 // Update AQS. |
392 controller_->UpdateAssistedQueryStats(&result_); | 393 controller_->UpdateAssistedQueryStats(&result_); |
393 | 394 |
(...skipping 19 matching lines...) Expand all Loading... |
413 | 414 |
414 void AutocompleteProviderTest::RunExactKeymatchTest( | 415 void AutocompleteProviderTest::RunExactKeymatchTest( |
415 bool allow_exact_keyword_match) { | 416 bool allow_exact_keyword_match) { |
416 // Send the controller input which exactly matches the keyword provider we | 417 // Send the controller input which exactly matches the keyword provider we |
417 // created in ResetControllerWithKeywordAndSearchProviders(). The default | 418 // created in ResetControllerWithKeywordAndSearchProviders(). The default |
418 // match should thus be a search-other-engine match iff | 419 // match should thus be a search-other-engine match iff |
419 // |allow_exact_keyword_match| is true. Regardless, the match should | 420 // |allow_exact_keyword_match| is true. Regardless, the match should |
420 // be from SearchProvider. (It provides all verbatim search matches, | 421 // be from SearchProvider. (It provides all verbatim search matches, |
421 // keyword or not.) | 422 // keyword or not.) |
422 controller_->Start(AutocompleteInput( | 423 controller_->Start(AutocompleteInput( |
423 ASCIIToUTF16("k test"), base::string16::npos, base::string16(), GURL(), | 424 base::ASCIIToUTF16("k test"), base::string16::npos, base::string16(), |
424 AutocompleteInput::INVALID_SPEC, true, false, allow_exact_keyword_match, | 425 GURL(), AutocompleteInput::INVALID_SPEC, true, false, |
425 AutocompleteInput::SYNCHRONOUS_MATCHES)); | 426 allow_exact_keyword_match, AutocompleteInput::SYNCHRONOUS_MATCHES)); |
426 EXPECT_TRUE(controller_->done()); | 427 EXPECT_TRUE(controller_->done()); |
427 EXPECT_EQ(AutocompleteProvider::TYPE_SEARCH, | 428 EXPECT_EQ(AutocompleteProvider::TYPE_SEARCH, |
428 controller_->result().default_match()->provider->type()); | 429 controller_->result().default_match()->provider->type()); |
429 EXPECT_EQ(allow_exact_keyword_match ? | 430 EXPECT_EQ(allow_exact_keyword_match ? |
430 AutocompleteMatchType::SEARCH_OTHER_ENGINE : | 431 AutocompleteMatchType::SEARCH_OTHER_ENGINE : |
431 AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, | 432 AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, |
432 controller_->result().default_match()->type); | 433 controller_->result().default_match()->type); |
433 } | 434 } |
434 | 435 |
435 void AutocompleteProviderTest::CopyResults() { | 436 void AutocompleteProviderTest::CopyResults() { |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 EXPECT_EQ("http://defaultturl/k%20test?a=b", | 522 EXPECT_EQ("http://defaultturl/k%20test?a=b", |
522 result_.match_at(1)->destination_url.possibly_invalid_spec()); | 523 result_.match_at(1)->destination_url.possibly_invalid_spec()); |
523 } | 524 } |
524 | 525 |
525 // Test that redundant associated keywords are removed. | 526 // Test that redundant associated keywords are removed. |
526 TEST_F(AutocompleteProviderTest, RedundantKeywordsIgnoredInResult) { | 527 TEST_F(AutocompleteProviderTest, RedundantKeywordsIgnoredInResult) { |
527 ResetControllerWithKeywordProvider(); | 528 ResetControllerWithKeywordProvider(); |
528 | 529 |
529 { | 530 { |
530 KeywordTestData duplicate_url[] = { | 531 KeywordTestData duplicate_url[] = { |
531 { ASCIIToUTF16("fo"), base::string16(), false }, | 532 { base::ASCIIToUTF16("fo"), base::string16(), false }, |
532 { ASCIIToUTF16("foo.com"), base::string16(), true }, | 533 { base::ASCIIToUTF16("foo.com"), base::string16(), true }, |
533 { ASCIIToUTF16("foo.com"), base::string16(), false } | 534 { base::ASCIIToUTF16("foo.com"), base::string16(), false } |
534 }; | 535 }; |
535 | 536 |
536 SCOPED_TRACE("Duplicate url"); | 537 SCOPED_TRACE("Duplicate url"); |
537 RunRedundantKeywordTest(duplicate_url, ARRAYSIZE_UNSAFE(duplicate_url)); | 538 RunRedundantKeywordTest(duplicate_url, ARRAYSIZE_UNSAFE(duplicate_url)); |
538 } | 539 } |
539 | 540 |
540 { | 541 { |
541 KeywordTestData keyword_match[] = { | 542 KeywordTestData keyword_match[] = { |
542 { ASCIIToUTF16("foo.com"), ASCIIToUTF16("foo.com"), false }, | 543 { base::ASCIIToUTF16("foo.com"), base::ASCIIToUTF16("foo.com"), false }, |
543 { ASCIIToUTF16("foo.com"), base::string16(), false } | 544 { base::ASCIIToUTF16("foo.com"), base::string16(), false } |
544 }; | 545 }; |
545 | 546 |
546 SCOPED_TRACE("Duplicate url with keyword match"); | 547 SCOPED_TRACE("Duplicate url with keyword match"); |
547 RunRedundantKeywordTest(keyword_match, ARRAYSIZE_UNSAFE(keyword_match)); | 548 RunRedundantKeywordTest(keyword_match, ARRAYSIZE_UNSAFE(keyword_match)); |
548 } | 549 } |
549 | 550 |
550 { | 551 { |
551 KeywordTestData multiple_keyword[] = { | 552 KeywordTestData multiple_keyword[] = { |
552 { ASCIIToUTF16("fo"), base::string16(), false }, | 553 { base::ASCIIToUTF16("fo"), base::string16(), false }, |
553 { ASCIIToUTF16("foo.com"), base::string16(), true }, | 554 { base::ASCIIToUTF16("foo.com"), base::string16(), true }, |
554 { ASCIIToUTF16("foo.com"), base::string16(), false }, | 555 { base::ASCIIToUTF16("foo.com"), base::string16(), false }, |
555 { ASCIIToUTF16("bar.com"), base::string16(), true }, | 556 { base::ASCIIToUTF16("bar.com"), base::string16(), true }, |
556 }; | 557 }; |
557 | 558 |
558 SCOPED_TRACE("Duplicate url with multiple keywords"); | 559 SCOPED_TRACE("Duplicate url with multiple keywords"); |
559 RunRedundantKeywordTest(multiple_keyword, | 560 RunRedundantKeywordTest(multiple_keyword, |
560 ARRAYSIZE_UNSAFE(multiple_keyword)); | 561 ARRAYSIZE_UNSAFE(multiple_keyword)); |
561 } | 562 } |
562 } | 563 } |
563 | 564 |
564 TEST_F(AutocompleteProviderTest, UpdateAssistedQueryStats) { | 565 TEST_F(AutocompleteProviderTest, UpdateAssistedQueryStats) { |
565 ResetControllerWithTestProviders(false, NULL, NULL); | 566 ResetControllerWithTestProviders(false, NULL, NULL); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 ResetControllerWithKeywordAndSearchProviders(); | 611 ResetControllerWithKeywordAndSearchProviders(); |
611 | 612 |
612 // For the destination URL to have aqs parameters for query formulation time | 613 // For the destination URL to have aqs parameters for query formulation time |
613 // and the field trial triggered bit, many conditions need to be satisfied. | 614 // and the field trial triggered bit, many conditions need to be satisfied. |
614 AutocompleteMatch match(NULL, 1100, false, | 615 AutocompleteMatch match(NULL, 1100, false, |
615 AutocompleteMatchType::SEARCH_SUGGEST); | 616 AutocompleteMatchType::SEARCH_SUGGEST); |
616 GURL url(GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456))); | 617 GURL url(GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456))); |
617 EXPECT_TRUE(url.path().empty()); | 618 EXPECT_TRUE(url.path().empty()); |
618 | 619 |
619 // The protocol needs to be https. | 620 // The protocol needs to be https. |
620 RegisterTemplateURL(ASCIIToUTF16(kTestTemplateURLKeyword), | 621 RegisterTemplateURL(base::ASCIIToUTF16(kTestTemplateURLKeyword), |
621 "https://aqs/{searchTerms}/{google:assistedQueryStats}"); | 622 "https://aqs/{searchTerms}/{google:assistedQueryStats}"); |
622 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); | 623 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); |
623 EXPECT_TRUE(url.path().empty()); | 624 EXPECT_TRUE(url.path().empty()); |
624 | 625 |
625 // There needs to be a keyword provider. | 626 // There needs to be a keyword provider. |
626 match.keyword = ASCIIToUTF16(kTestTemplateURLKeyword); | 627 match.keyword = base::ASCIIToUTF16(kTestTemplateURLKeyword); |
627 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); | 628 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); |
628 EXPECT_TRUE(url.path().empty()); | 629 EXPECT_TRUE(url.path().empty()); |
629 | 630 |
630 // search_terms_args needs to be set. | 631 // search_terms_args needs to be set. |
631 match.search_terms_args.reset( | 632 match.search_terms_args.reset( |
632 new TemplateURLRef::SearchTermsArgs(base::string16())); | 633 new TemplateURLRef::SearchTermsArgs(base::string16())); |
633 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); | 634 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); |
634 EXPECT_TRUE(url.path().empty()); | 635 EXPECT_TRUE(url.path().empty()); |
635 | 636 |
636 // assisted_query_stats needs to have been previously set. | 637 // assisted_query_stats needs to have been previously set. |
(...skipping 17 matching lines...) Expand all Loading... |
654 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); | 655 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); |
655 EXPECT_EQ("//aqs=chrome.0.69i57j69i58j5l2j0l3j69i59.2456j0j4&", url.path()); | 656 EXPECT_EQ("//aqs=chrome.0.69i57j69i58j5l2j0l3j69i59.2456j0j4&", url.path()); |
656 | 657 |
657 // Test page classification and field trial triggered set. | 658 // Test page classification and field trial triggered set. |
658 controller_->search_provider_->field_trial_triggered_in_session_ = true; | 659 controller_->search_provider_->field_trial_triggered_in_session_ = true; |
659 EXPECT_TRUE( | 660 EXPECT_TRUE( |
660 controller_->search_provider_->field_trial_triggered_in_session()); | 661 controller_->search_provider_->field_trial_triggered_in_session()); |
661 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); | 662 url = GetDestinationURL(match, base::TimeDelta::FromMilliseconds(2456)); |
662 EXPECT_EQ("//aqs=chrome.0.69i57j69i58j5l2j0l3j69i59.2456j1j4&", url.path()); | 663 EXPECT_EQ("//aqs=chrome.0.69i57j69i58j5l2j0l3j69i59.2456j1j4&", url.path()); |
663 } | 664 } |
OLD | NEW |