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

Side by Side Diff: components/omnibox/base_search_provider_unittest.cc

Issue 1192373002: Prepare AutocompleteController for componentization (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@componentize_zero_suggest_provider
Patch Set: Response to review Created 5 years, 6 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/base_search_provider.h" 5 #include "components/omnibox/base_search_provider.h"
6 6
7 #include "base/strings/string16.h" 7 #include "base/strings/string16.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "components/omnibox/autocomplete_match.h" 9 #include "components/omnibox/autocomplete_match.h"
10 #include "components/omnibox/autocomplete_match_type.h" 10 #include "components/omnibox/autocomplete_match_type.h"
11 #include "components/omnibox/autocomplete_provider_client.h"
12 #include "components/omnibox/autocomplete_scheme_classifier.h" 11 #include "components/omnibox/autocomplete_scheme_classifier.h"
12 #include "components/omnibox/mock_autocomplete_provider_client.h"
13 #include "components/omnibox/search_suggestion_parser.h" 13 #include "components/omnibox/search_suggestion_parser.h"
14 #include "components/omnibox/suggestion_answer.h" 14 #include "components/omnibox/suggestion_answer.h"
15 #include "components/search_engines/search_terms_data.h" 15 #include "components/search_engines/search_terms_data.h"
16 #include "components/search_engines/template_url_service.h" 16 #include "components/search_engines/template_url_service.h"
17 #include "components/search_engines/template_url_service_client.h" 17 #include "components/search_engines/template_url_service_client.h"
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 using testing::NiceMock; 21 using testing::NiceMock;
22 using testing::Return; 22 using testing::Return;
23 using testing::_; 23 using testing::_;
24 24
25 class MockAutocompleteProviderClient : public AutocompleteProviderClient {
26 public:
27 MockAutocompleteProviderClient() {
28 template_url_service_.reset(new TemplateURLService(
29 nullptr, scoped_ptr<SearchTermsData>(new SearchTermsData), nullptr,
30 scoped_ptr<TemplateURLServiceClient>(), nullptr, nullptr,
31 base::Closure()));
32 }
33 MOCK_METHOD0(GetRequestContext, net::URLRequestContextGetter*());
34 MOCK_METHOD0(GetPrefs, PrefService*());
35 MOCK_CONST_METHOD0(GetSchemeClassifier,
36 const AutocompleteSchemeClassifier&());
37 MOCK_METHOD0(GetAutocompleteClassifier, AutocompleteClassifier*());
38 MOCK_METHOD0(GetHistoryService, history::HistoryService*());
39
40 // Can't mock scoped_refptr :\.
41 scoped_refptr<history::TopSites> GetTopSites() override { return nullptr; }
42
43 MOCK_METHOD0(GetBookmarkModel, bookmarks::BookmarkModel*());
44 MOCK_METHOD0(GetInMemoryDatabase, history::URLDatabase*());
45
46 TemplateURLService* GetTemplateURLService() override {
47 return template_url_service_.get();
48 }
49 const TemplateURLService* GetTemplateURLService() const override {
50 return template_url_service_.get();
51 }
52
53 MOCK_CONST_METHOD0(GetSearchTermsData, const SearchTermsData&());
54
55 // Can't mock scoped_refptr :\.
56 scoped_refptr<ShortcutsBackend> GetShortcutsBackend() override {
57 return nullptr;
58 }
59 scoped_refptr<ShortcutsBackend> GetShortcutsBackendIfExists() override {
60 return nullptr;
61 }
62
63 MOCK_CONST_METHOD0(GetAcceptLanguages, std::string());
64 MOCK_CONST_METHOD0(IsOffTheRecord, bool());
65 MOCK_CONST_METHOD0(SearchSuggestEnabled, bool());
66 MOCK_CONST_METHOD0(BookmarkBarIsVisible, bool());
67 MOCK_CONST_METHOD0(TabSyncEnabledAndUnencrypted, bool());
68 MOCK_METHOD6(
69 Classify,
70 void(const base::string16& text,
71 bool prefer_keyword,
72 bool allow_exact_keyword_match,
73 metrics::OmniboxEventProto::PageClassification page_classification,
74 AutocompleteMatch* match,
75 GURL* alternate_nav_url));
76 MOCK_METHOD2(DeleteMatchingURLsForKeywordFromHistory,
77 void(history::KeywordID keyword_id, const base::string16& term));
78 MOCK_METHOD1(PrefetchImage, void(const GURL& url));
79
80 private:
81 scoped_ptr<TemplateURLService> template_url_service_;
82
83 DISALLOW_COPY_AND_ASSIGN(MockAutocompleteProviderClient);
84 };
85
86 class TestBaseSearchProvider : public BaseSearchProvider { 25 class TestBaseSearchProvider : public BaseSearchProvider {
87 public: 26 public:
88 typedef BaseSearchProvider::MatchMap MatchMap; 27 typedef BaseSearchProvider::MatchMap MatchMap;
89 28
90 TestBaseSearchProvider(AutocompleteProvider::Type type, 29 TestBaseSearchProvider(AutocompleteProvider::Type type,
91 AutocompleteProviderClient* client) 30 AutocompleteProviderClient* client)
92 : BaseSearchProvider(type, client) {} 31 : BaseSearchProvider(type, client) {}
93 MOCK_METHOD1(DeleteMatch, void(const AutocompleteMatch& match)); 32 MOCK_METHOD1(DeleteMatch, void(const AutocompleteMatch& match));
94 MOCK_CONST_METHOD1(AddProviderInfo, void(ProvidersInfo* provider_info)); 33 MOCK_CONST_METHOD1(AddProviderInfo, void(ProvidersInfo* provider_info));
95 MOCK_CONST_METHOD1(GetTemplateURL, const TemplateURL*(bool is_keyword)); 34 MOCK_CONST_METHOD1(GetTemplateURL, const TemplateURL*(bool is_keyword));
(...skipping 24 matching lines...) Expand all
120 private: 59 private:
121 DISALLOW_COPY_AND_ASSIGN(TestBaseSearchProvider); 60 DISALLOW_COPY_AND_ASSIGN(TestBaseSearchProvider);
122 }; 61 };
123 62
124 class BaseSearchProviderTest : public testing::Test { 63 class BaseSearchProviderTest : public testing::Test {
125 public: 64 public:
126 ~BaseSearchProviderTest() override {} 65 ~BaseSearchProviderTest() override {}
127 66
128 protected: 67 protected:
129 void SetUp() override { 68 void SetUp() override {
69 scoped_ptr<TemplateURLService> template_url_service(new TemplateURLService(
70 nullptr, scoped_ptr<SearchTermsData>(new SearchTermsData), nullptr,
71 scoped_ptr<TemplateURLServiceClient>(), nullptr, nullptr,
72 base::Closure()));
130 client_.reset(new NiceMock<MockAutocompleteProviderClient>()); 73 client_.reset(new NiceMock<MockAutocompleteProviderClient>());
74 client_->set_template_url_service(template_url_service.Pass());
131 provider_ = new NiceMock<TestBaseSearchProvider>( 75 provider_ = new NiceMock<TestBaseSearchProvider>(
132 AutocompleteProvider::TYPE_SEARCH, client_.get()); 76 AutocompleteProvider::TYPE_SEARCH, client_.get());
133 } 77 }
134 78
135 scoped_refptr<NiceMock<TestBaseSearchProvider> > provider_; 79 scoped_refptr<NiceMock<TestBaseSearchProvider> > provider_;
136 scoped_ptr<NiceMock<MockAutocompleteProviderClient>> client_; 80 scoped_ptr<NiceMock<MockAutocompleteProviderClient>> client_;
137 }; 81 };
138 82
139 TEST_F(BaseSearchProviderTest, PreserveAnswersWhenDeduplicating) { 83 TEST_F(BaseSearchProviderTest, PreserveAnswersWhenDeduplicating) {
140 TemplateURLData data; 84 TemplateURLData data;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 EXPECT_TRUE(answer2->Equals(*match.answer)); 158 EXPECT_TRUE(answer2->Equals(*match.answer));
215 EXPECT_EQ(AutocompleteMatchType::SEARCH_HISTORY, match.type); 159 EXPECT_EQ(AutocompleteMatchType::SEARCH_HISTORY, match.type);
216 EXPECT_EQ(1300, match.relevance); 160 EXPECT_EQ(1300, match.relevance);
217 161
218 EXPECT_EQ(answer_contents, duplicate.answer_contents); 162 EXPECT_EQ(answer_contents, duplicate.answer_contents);
219 EXPECT_EQ(answer_type, duplicate.answer_type); 163 EXPECT_EQ(answer_type, duplicate.answer_type);
220 EXPECT_TRUE(answer->Equals(*duplicate.answer)); 164 EXPECT_TRUE(answer->Equals(*duplicate.answer));
221 EXPECT_EQ(AutocompleteMatchType::SEARCH_SUGGEST, duplicate.type); 165 EXPECT_EQ(AutocompleteMatchType::SEARCH_SUGGEST, duplicate.type);
222 EXPECT_EQ(850, duplicate.relevance); 166 EXPECT_EQ(850, duplicate.relevance);
223 } 167 }
OLDNEW
« no previous file with comments | « components/omnibox/autocomplete_provider_client.h ('k') | components/omnibox/history_quick_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698