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

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

Issue 1877833002: Optimize shortcuts provider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes after review, round 2 Created 4 years, 8 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 (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 "components/omnibox/browser/shortcuts_provider.h" 5 #include "components/omnibox/browser/shortcuts_provider.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 } 743 }
744 744
745 TEST_F(ShortcutsProviderTest, DoesNotProvideOnFocus) { 745 TEST_F(ShortcutsProviderTest, DoesNotProvideOnFocus) {
746 AutocompleteInput input(ASCIIToUTF16("about:o"), base::string16::npos, 746 AutocompleteInput input(ASCIIToUTF16("about:o"), base::string16::npos,
747 std::string(), GURL(), 747 std::string(), GURL(),
748 metrics::OmniboxEventProto::INVALID_SPEC, false, 748 metrics::OmniboxEventProto::INVALID_SPEC, false,
749 false, true, true, true, TestSchemeClassifier()); 749 false, true, true, true, TestSchemeClassifier());
750 provider_->Start(input, false); 750 provider_->Start(input, false);
751 EXPECT_TRUE(provider_->matches().empty()); 751 EXPECT_TRUE(provider_->matches().empty());
752 } 752 }
753
754 TEST_F(ShortcutsProviderTest, SortAndDedupMatches) {
755 using ShortcutMatch = ShortcutsProvider::ShortcutMatch;
756 // Create empty ShortcutsDatabase::Shortcut object that will be used to
757 // initialize ShortcutMatch objects.
758 ShortcutsDatabase::Shortcut::MatchCore db_match_core(
759 base::string16(), GURL(), base::string16(), std::string(),
760 base::string16(), std::string(), 0, 0, base::string16());
761 // Object used only for ShortcutMatch initialization.
762 ShortcutsDatabase::Shortcut db_shortcut(std::string(), base::string16(),
763 db_match_core, base::Time(), 0);
764
765 std::vector<ShortcutMatch> matches;
766 db_shortcut.match_core.contents = base::ASCIIToUTF16("123");
Peter Kasting 2016/04/14 23:52:34 Nit: Set this value in the constructor above, push
Alexander Yashkin 2016/04/15 09:14:15 I removed unittest for SortAndDedupMatches entire
767 matches.push_back(
Peter Kasting 2016/04/14 23:52:34 Nit: While normally push_back() is more readable,
Alexander Yashkin 2016/04/15 09:14:15 Removed test entirely.
768 ShortcutMatch(42, GURL("http://www.abc.com"), &db_shortcut));
769 db_shortcut.match_core.contents = base::ASCIIToUTF16("123");
770 matches.push_back(
771 ShortcutMatch(43, GURL("http://www.abcd.com"), &db_shortcut));
772 db_shortcut.match_core.contents = base::ASCIIToUTF16("123");
773 matches.push_back(
774 ShortcutMatch(42, GURL("http://www.abcde.com"), &db_shortcut));
775 db_shortcut.match_core.contents = base::ASCIIToUTF16("DEADBEEF");
776 matches.push_back(
777 ShortcutMatch(41, GURL("http://www.abcd.com"), &db_shortcut));
778 db_shortcut.match_core.contents = base::ASCIIToUTF16("234");
779 matches.push_back(
780 ShortcutMatch(42, GURL("http://www.abcde.com"), &db_shortcut));
781 db_shortcut.match_core.contents = base::ASCIIToUTF16("123");
782 matches.push_back(
783 ShortcutMatch(42, GURL("http://www.abc.com"), &db_shortcut));
784
785 ShortcutsProvider::SortAndDedupMatches(
786 metrics::OmniboxEventProto::INVALID_SPEC, &matches);
787 // Expect deduplicated matches to be sorted by destination.
788 // The remaining match out of each set of duplicates should be the one with
789 // the highest relevance.
790 EXPECT_EQ(3U, matches.size());
791 EXPECT_EQ(matches[0].stripped_destination_url, GURL("http://www.abc.com"));
Peter Kasting 2016/04/14 23:52:34 Nit: (expected, actual) (many places)
Alexander Yashkin 2016/04/15 09:14:15 Removed test entirely.
792 EXPECT_EQ(matches[0].relevance, 42);
793 EXPECT_EQ(matches[0].contents, base::ASCIIToUTF16("123"));
794 EXPECT_EQ(matches[1].stripped_destination_url, GURL("http://www.abcd.com"));
795 EXPECT_EQ(matches[1].relevance, 43);
796 EXPECT_EQ(matches[1].contents, base::ASCIIToUTF16("123"));
797 EXPECT_EQ(matches[2].stripped_destination_url, GURL("http://www.abcde.com"));
798 EXPECT_EQ(matches[2].relevance, 42);
799 EXPECT_EQ(matches[2].contents, base::ASCIIToUTF16("123"));
800 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698