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

Side by Side Diff: components/omnibox/browser/autocomplete_result_unittest.cc

Issue 2738003002: Add title to current page in zero suggest. (Closed)
Patch Set: Remove debugging info. Created 3 years, 7 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/browser/autocomplete_result.h" 5 #include "components/omnibox/browser/autocomplete_result.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <vector> 10 #include <vector>
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 EXPECT_EQ(expected_match.destination_url.spec(), 194 EXPECT_EQ(expected_match.destination_url.spec(),
195 match.destination_url.spec()) << i; 195 match.destination_url.spec()) << i;
196 } 196 }
197 } 197 }
198 198
199 void AutocompleteResultTest::RunCopyOldMatchesTest( 199 void AutocompleteResultTest::RunCopyOldMatchesTest(
200 const TestData* last, size_t last_size, 200 const TestData* last, size_t last_size,
201 const TestData* current, size_t current_size, 201 const TestData* current, size_t current_size,
202 const TestData* expected, size_t expected_size) { 202 const TestData* expected, size_t expected_size) {
203 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 203 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
204 std::string(), GURL(), 204 std::string(), GURL(), base::string16(),
205 OmniboxEventProto::INVALID_SPEC, false, false, false, 205 OmniboxEventProto::INVALID_SPEC, false, false, false,
206 true, false, TestSchemeClassifier()); 206 true, false, TestSchemeClassifier());
207 207
208 ACMatches last_matches; 208 ACMatches last_matches;
209 PopulateAutocompleteMatches(last, last_size, &last_matches); 209 PopulateAutocompleteMatches(last, last_size, &last_matches);
210 AutocompleteResult last_result; 210 AutocompleteResult last_result;
211 last_result.AppendMatches(input, last_matches); 211 last_result.AppendMatches(input, last_matches);
212 last_result.SortAndCull(input, template_url_service_.get()); 212 last_result.SortAndCull(input, template_url_service_.get());
213 213
214 ACMatches current_matches; 214 ACMatches current_matches;
(...skipping 16 matching lines...) Expand all
231 r1.Swap(&r2); 231 r1.Swap(&r2);
232 EXPECT_EQ(r1.end(), r1.default_match()); 232 EXPECT_EQ(r1.end(), r1.default_match());
233 EXPECT_EQ(r2.end(), r2.default_match()); 233 EXPECT_EQ(r2.end(), r2.default_match());
234 234
235 // Swap with a single match. 235 // Swap with a single match.
236 ACMatches matches; 236 ACMatches matches;
237 AutocompleteMatch match; 237 AutocompleteMatch match;
238 match.relevance = 1; 238 match.relevance = 1;
239 match.allowed_to_be_default_match = true; 239 match.allowed_to_be_default_match = true;
240 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 240 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
241 std::string(), GURL(), 241 std::string(), GURL(), base::string16(),
242 OmniboxEventProto::INVALID_SPEC, false, false, false, 242 OmniboxEventProto::INVALID_SPEC, false, false, false,
243 true, false, TestSchemeClassifier()); 243 true, false, TestSchemeClassifier());
244 matches.push_back(match); 244 matches.push_back(match);
245 r1.AppendMatches(input, matches); 245 r1.AppendMatches(input, matches);
246 r1.SortAndCull(input, template_url_service_.get()); 246 r1.SortAndCull(input, template_url_service_.get());
247 EXPECT_EQ(r1.begin(), r1.default_match()); 247 EXPECT_EQ(r1.begin(), r1.default_match());
248 EXPECT_EQ("http://a/", r1.alternate_nav_url().spec()); 248 EXPECT_EQ("http://a/", r1.alternate_nav_url().spec());
249 r1.Swap(&r2); 249 r1.Swap(&r2);
250 EXPECT_TRUE(r1.empty()); 250 EXPECT_TRUE(r1.empty());
251 EXPECT_EQ(r1.end(), r1.default_match()); 251 EXPECT_EQ(r1.end(), r1.default_match());
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 { 0, 1, 1200, true }, 369 { 0, 1, 1200, true },
370 }; 370 };
371 371
372 ACMatches matches; 372 ACMatches matches;
373 PopulateAutocompleteMatches(data, arraysize(data), &matches); 373 PopulateAutocompleteMatches(data, arraysize(data), &matches);
374 matches[1].destination_url = GURL(); 374 matches[1].destination_url = GURL();
375 matches[3].destination_url = GURL(); 375 matches[3].destination_url = GURL();
376 matches[4].destination_url = GURL(); 376 matches[4].destination_url = GURL();
377 377
378 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 378 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
379 std::string(), GURL(), 379 std::string(), GURL(), base::string16(),
380 OmniboxEventProto::INVALID_SPEC, false, false, false, 380 OmniboxEventProto::INVALID_SPEC, false, false, false,
381 true, false, TestSchemeClassifier()); 381 true, false, TestSchemeClassifier());
382 AutocompleteResult result; 382 AutocompleteResult result;
383 result.AppendMatches(input, matches); 383 result.AppendMatches(input, matches);
384 result.SortAndCull(input, template_url_service_.get()); 384 result.SortAndCull(input, template_url_service_.get());
385 385
386 // Of the two results with the same non-empty destination URL, the 386 // Of the two results with the same non-empty destination URL, the
387 // lower-relevance one should be dropped. All of the results with empty URLs 387 // lower-relevance one should be dropped. All of the results with empty URLs
388 // should be kept. 388 // should be kept.
389 ASSERT_EQ(4U, result.size()); 389 ASSERT_EQ(4U, result.size());
(...skipping 25 matching lines...) Expand all
415 415
416 ACMatches matches; 416 ACMatches matches;
417 PopulateAutocompleteMatches(data, arraysize(data), &matches); 417 PopulateAutocompleteMatches(data, arraysize(data), &matches);
418 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo"); 418 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo");
419 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2"); 419 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2");
420 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f"); 420 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f");
421 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0"); 421 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0");
422 matches[4].destination_url = GURL("http://www.foo.com/"); 422 matches[4].destination_url = GURL("http://www.foo.com/");
423 423
424 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 424 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
425 std::string(), GURL(), 425 std::string(), GURL(), base::string16(),
426 OmniboxEventProto::INVALID_SPEC, false, false, false, 426 OmniboxEventProto::INVALID_SPEC, false, false, false,
427 true, false, TestSchemeClassifier()); 427 true, false, TestSchemeClassifier());
428 AutocompleteResult result; 428 AutocompleteResult result;
429 result.AppendMatches(input, matches); 429 result.AppendMatches(input, matches);
430 result.SortAndCull(input, template_url_service_.get()); 430 result.SortAndCull(input, template_url_service_.get());
431 431
432 // We expect the 3rd and 4th results to be removed. 432 // We expect the 3rd and 4th results to be removed.
433 ASSERT_EQ(3U, result.size()); 433 ASSERT_EQ(3U, result.size());
434 EXPECT_EQ("http://www.foo.com/s?q=foo", 434 EXPECT_EQ("http://www.foo.com/s?q=foo",
435 result.match_at(0)->destination_url.spec()); 435 result.match_at(0)->destination_url.spec());
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 ACMatches matches; 467 ACMatches matches;
468 PopulateAutocompleteMatches(data, arraysize(data), &matches); 468 PopulateAutocompleteMatches(data, arraysize(data), &matches);
469 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo"); 469 matches[0].destination_url = GURL("http://www.foo.com/s?q=foo");
470 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2"); 470 matches[1].destination_url = GURL("http://www.foo.com/s?q=foo2");
471 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f"); 471 matches[2].destination_url = GURL("http://www.foo.com/s?q=foo&oq=f");
472 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0"); 472 matches[3].destination_url = GURL("http://www.foo.com/s?q=foo&aqs=0");
473 matches[4].destination_url = GURL("http://www.foo.com/"); 473 matches[4].destination_url = GURL("http://www.foo.com/");
474 matches[5].destination_url = GURL("http://www.foo.com/s?q=foo2&oq=f"); 474 matches[5].destination_url = GURL("http://www.foo.com/s?q=foo2&oq=f");
475 475
476 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 476 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
477 std::string(), GURL(), 477 std::string(), GURL(), base::string16(),
478 OmniboxEventProto::INVALID_SPEC, false, false, false, 478 OmniboxEventProto::INVALID_SPEC, false, false, false,
479 true, false, TestSchemeClassifier()); 479 true, false, TestSchemeClassifier());
480 AutocompleteResult result; 480 AutocompleteResult result;
481 result.AppendMatches(input, matches); 481 result.AppendMatches(input, matches);
482 result.SortAndCull(input, template_url_service_.get()); 482 result.SortAndCull(input, template_url_service_.get());
483 483
484 // Expect 3 unique results after SortAndCull(). 484 // Expect 3 unique results after SortAndCull().
485 ASSERT_EQ(3U, result.size()); 485 ASSERT_EQ(3U, result.size());
486 486
487 // Check that 3rd and 4th result got added to the first result as dups 487 // Check that 3rd and 4th result got added to the first result as dups
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 std::map<std::string, std::string> params; 521 std::map<std::string, std::string> params;
522 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":3:*"] = 522 params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":3:*"] =
523 "1:50,7:100,2:0"; // 3 == HOME_PAGE 523 "1:50,7:100,2:0"; // 3 == HOME_PAGE
524 ASSERT_TRUE(variations::AssociateVariationParams( 524 ASSERT_TRUE(variations::AssociateVariationParams(
525 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params)); 525 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
526 } 526 }
527 base::FieldTrialList::CreateFieldTrial( 527 base::FieldTrialList::CreateFieldTrial(
528 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A"); 528 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
529 529
530 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 530 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
531 std::string(), GURL(), OmniboxEventProto::HOME_PAGE, 531 std::string(), GURL(), base::string16(),
532 false, false, false, true, false, 532 OmniboxEventProto::HOME_PAGE, false, false, false,
533 TestSchemeClassifier()); 533 true, false, TestSchemeClassifier());
534 AutocompleteResult result; 534 AutocompleteResult result;
535 result.AppendMatches(input, matches); 535 result.AppendMatches(input, matches);
536 result.SortAndCull(input, template_url_service_.get()); 536 result.SortAndCull(input, template_url_service_.get());
537 537
538 // Check the new ordering. The history-title results should be omitted. 538 // Check the new ordering. The history-title results should be omitted.
539 // We cannot check relevance scores because the matches are sorted by 539 // We cannot check relevance scores because the matches are sorted by
540 // demoted relevance but the actual relevance scores are not modified. 540 // demoted relevance but the actual relevance scores are not modified.
541 ASSERT_EQ(3u, result.size()); 541 ASSERT_EQ(3u, result.size());
542 EXPECT_EQ("http://search-what-you-typed/", 542 EXPECT_EQ("http://search-what-you-typed/",
543 result.match_at(0)->destination_url.spec()); 543 result.match_at(0)->destination_url.spec());
(...skipping 23 matching lines...) Expand all
567 "1:50"; // 8 == INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS 567 "1:50"; // 8 == INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS
568 ASSERT_TRUE(variations::AssociateVariationParams( 568 ASSERT_TRUE(variations::AssociateVariationParams(
569 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "C", params)); 569 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "C", params));
570 } 570 }
571 base::FieldTrialList::CreateFieldTrial( 571 base::FieldTrialList::CreateFieldTrial(
572 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "C"); 572 OmniboxFieldTrial::kBundledExperimentFieldTrialName, "C");
573 573
574 { 574 {
575 AutocompleteInput input( 575 AutocompleteInput input(
576 base::ASCIIToUTF16("a"), base::string16::npos, std::string(), GURL(), 576 base::ASCIIToUTF16("a"), base::string16::npos, std::string(), GURL(),
577 base::string16(),
577 OmniboxEventProto::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS, false, 578 OmniboxEventProto::INSTANT_NTP_WITH_FAKEBOX_AS_STARTING_FOCUS, false,
578 false, false, true, false, TestSchemeClassifier()); 579 false, false, true, false, TestSchemeClassifier());
579 AutocompleteResult result; 580 AutocompleteResult result;
580 result.AppendMatches(input, matches); 581 result.AppendMatches(input, matches);
581 result.SortAndCull(input, template_url_service_.get()); 582 result.SortAndCull(input, template_url_service_.get());
582 583
583 // The NAVSUGGEST dup-url stay above search-url since the navsuggest 584 // The NAVSUGGEST dup-url stay above search-url since the navsuggest
584 // variant should not be demoted. 585 // variant should not be demoted.
585 ASSERT_EQ(4u, result.size()); 586 ASSERT_EQ(4u, result.size());
586 EXPECT_EQ("http://search-what-you-typed/", 587 EXPECT_EQ("http://search-what-you-typed/",
(...skipping 18 matching lines...) Expand all
605 }; 606 };
606 TestSchemeClassifier test_scheme_classifier; 607 TestSchemeClassifier test_scheme_classifier;
607 608
608 { 609 {
609 // Check that reorder doesn't do anything if the top result 610 // Check that reorder doesn't do anything if the top result
610 // is already a legal default match (which is the default from 611 // is already a legal default match (which is the default from
611 // PopulateAutocompleteMatches()). 612 // PopulateAutocompleteMatches()).
612 ACMatches matches; 613 ACMatches matches;
613 PopulateAutocompleteMatches(data, arraysize(data), &matches); 614 PopulateAutocompleteMatches(data, arraysize(data), &matches);
614 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 615 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
615 std::string(), GURL(), OmniboxEventProto::HOME_PAGE, 616 std::string(), GURL(), base::string16(),
616 false, false, false, true, false, 617 OmniboxEventProto::HOME_PAGE, false, false, false,
617 test_scheme_classifier); 618 true, false, test_scheme_classifier);
618 AutocompleteResult result; 619 AutocompleteResult result;
619 result.AppendMatches(input, matches); 620 result.AppendMatches(input, matches);
620 result.SortAndCull(input, template_url_service_.get()); 621 result.SortAndCull(input, template_url_service_.get());
621 AssertResultMatches(result, data, 4); 622 AssertResultMatches(result, data, 4);
622 } 623 }
623 624
624 { 625 {
625 // Check that reorder swaps up a result appropriately. 626 // Check that reorder swaps up a result appropriately.
626 ACMatches matches; 627 ACMatches matches;
627 PopulateAutocompleteMatches(data, arraysize(data), &matches); 628 PopulateAutocompleteMatches(data, arraysize(data), &matches);
628 matches[0].allowed_to_be_default_match = false; 629 matches[0].allowed_to_be_default_match = false;
629 matches[1].allowed_to_be_default_match = false; 630 matches[1].allowed_to_be_default_match = false;
630 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos, 631 AutocompleteInput input(base::ASCIIToUTF16("a"), base::string16::npos,
631 std::string(), GURL(), OmniboxEventProto::HOME_PAGE, 632 std::string(), GURL(), base::string16(),
632 false, false, false, true, false, 633 OmniboxEventProto::HOME_PAGE, false, false, false,
633 test_scheme_classifier); 634 true, false, test_scheme_classifier);
634 AutocompleteResult result; 635 AutocompleteResult result;
635 result.AppendMatches(input, matches); 636 result.AppendMatches(input, matches);
636 result.SortAndCull(input, template_url_service_.get()); 637 result.SortAndCull(input, template_url_service_.get());
637 ASSERT_EQ(4U, result.size()); 638 ASSERT_EQ(4U, result.size());
638 EXPECT_EQ("http://c/", result.match_at(0)->destination_url.spec()); 639 EXPECT_EQ("http://c/", result.match_at(0)->destination_url.spec());
639 EXPECT_EQ("http://a/", result.match_at(1)->destination_url.spec()); 640 EXPECT_EQ("http://a/", result.match_at(1)->destination_url.spec());
640 EXPECT_EQ("http://b/", result.match_at(2)->destination_url.spec()); 641 EXPECT_EQ("http://b/", result.match_at(2)->destination_url.spec());
641 EXPECT_EQ("http://d/", result.match_at(3)->destination_url.spec()); 642 EXPECT_EQ("http://d/", result.match_at(3)->destination_url.spec());
642 } 643 }
643 } 644 }
(...skipping 21 matching lines...) Expand all
665 matches.clear(); 666 matches.clear();
666 667
667 // Case 4: Standalone verbatim match found in AutocompleteResult. 668 // Case 4: Standalone verbatim match found in AutocompleteResult.
668 PopulateAutocompleteMatchesFromTestData(kVerbatimMatches, 1, &matches); 669 PopulateAutocompleteMatchesFromTestData(kVerbatimMatches, 1, &matches);
669 PopulateAutocompleteMatchesFromTestData(kNonVerbatimMatches, 1, &matches); 670 PopulateAutocompleteMatchesFromTestData(kNonVerbatimMatches, 1, &matches);
670 result.AppendMatches(AutocompleteInput(), matches); 671 result.AppendMatches(AutocompleteInput(), matches);
671 EXPECT_TRUE(result.TopMatchIsStandaloneVerbatimMatch()); 672 EXPECT_TRUE(result.TopMatchIsStandaloneVerbatimMatch());
672 result.Reset(); 673 result.Reset();
673 matches.clear(); 674 matches.clear();
674 } 675 }
OLDNEW
« no previous file with comments | « components/omnibox/browser/autocomplete_provider_unittest.cc ('k') | components/omnibox/browser/bookmark_provider_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698