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

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

Issue 1185723002: Prepare HistoryProvider for componentization (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
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
« no previous file with comments | « components/omnibox/base_search_provider.cc ('k') | components/omnibox/search_provider.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 13 matching lines...) Expand all
24 24
25 class MockAutocompleteProviderClient : public AutocompleteProviderClient { 25 class MockAutocompleteProviderClient : public AutocompleteProviderClient {
26 public: 26 public:
27 MockAutocompleteProviderClient() {} 27 MockAutocompleteProviderClient() {}
28 MOCK_METHOD0(RequestContext, net::URLRequestContextGetter*()); 28 MOCK_METHOD0(RequestContext, net::URLRequestContextGetter*());
29 MOCK_METHOD0(IsOffTheRecord, bool()); 29 MOCK_METHOD0(IsOffTheRecord, bool());
30 MOCK_METHOD0(AcceptLanguages, std::string()); 30 MOCK_METHOD0(AcceptLanguages, std::string());
31 MOCK_METHOD0(SearchSuggestEnabled, bool()); 31 MOCK_METHOD0(SearchSuggestEnabled, bool());
32 MOCK_METHOD0(ShowBookmarkBar, bool()); 32 MOCK_METHOD0(ShowBookmarkBar, bool());
33 MOCK_METHOD0(SchemeClassifier, const AutocompleteSchemeClassifier&()); 33 MOCK_METHOD0(SchemeClassifier, const AutocompleteSchemeClassifier&());
34 MOCK_METHOD0(HistoryService, history::HistoryService*());
35 MOCK_METHOD0(BookmarkModel, bookmarks::BookmarkModel*());
34 MOCK_METHOD6( 36 MOCK_METHOD6(
35 Classify, 37 Classify,
36 void(const base::string16& text, 38 void(const base::string16& text,
37 bool prefer_keyword, 39 bool prefer_keyword,
38 bool allow_exact_keyword_match, 40 bool allow_exact_keyword_match,
39 metrics::OmniboxEventProto::PageClassification page_classification, 41 metrics::OmniboxEventProto::PageClassification page_classification,
40 AutocompleteMatch* match, 42 AutocompleteMatch* match,
41 GURL* alternate_nav_url)); 43 GURL* alternate_nav_url));
42 MOCK_METHOD0(InMemoryDatabase, history::URLDatabase*()); 44 MOCK_METHOD0(InMemoryDatabase, history::URLDatabase*());
43 MOCK_METHOD2(DeleteMatchingURLsForKeywordFromHistory, 45 MOCK_METHOD2(DeleteMatchingURLsForKeywordFromHistory,
44 void(history::KeywordID keyword_id, const base::string16& term)); 46 void(history::KeywordID keyword_id, const base::string16& term));
45 MOCK_METHOD0(TabSyncEnabledAndUnencrypted, bool()); 47 MOCK_METHOD0(TabSyncEnabledAndUnencrypted, bool());
46 MOCK_METHOD1(PrefetchImage, void(const GURL& url)); 48 MOCK_METHOD1(PrefetchImage, void(const GURL& url));
47 49
48 private: 50 private:
49 DISALLOW_COPY_AND_ASSIGN(MockAutocompleteProviderClient); 51 DISALLOW_COPY_AND_ASSIGN(MockAutocompleteProviderClient);
50 }; 52 };
51 53
52 class TestBaseSearchProvider : public BaseSearchProvider { 54 class TestBaseSearchProvider : public BaseSearchProvider {
53 public: 55 public:
54 typedef BaseSearchProvider::MatchMap MatchMap; 56 typedef BaseSearchProvider::MatchMap MatchMap;
55 57
56 // Note: Takes ownership of client. scoped_ptr<> would be the right way to 58 TestBaseSearchProvider(AutocompleteProvider::Type type,
57 // express that, but NiceMock<> can't forward a scoped_ptr.
58 TestBaseSearchProvider(TemplateURLService* template_url_service,
59 AutocompleteProviderClient* client, 59 AutocompleteProviderClient* client,
60 AutocompleteProvider::Type type) 60 TemplateURLService* template_url_service)
61 : BaseSearchProvider(template_url_service, 61 : BaseSearchProvider(type, client, template_url_service) {}
62 scoped_ptr<AutocompleteProviderClient>(client),
63 type) {}
64 MOCK_METHOD1(DeleteMatch, void(const AutocompleteMatch& match)); 62 MOCK_METHOD1(DeleteMatch, void(const AutocompleteMatch& match));
65 MOCK_CONST_METHOD1(AddProviderInfo, void(ProvidersInfo* provider_info)); 63 MOCK_CONST_METHOD1(AddProviderInfo, void(ProvidersInfo* provider_info));
66 MOCK_CONST_METHOD1(GetTemplateURL, const TemplateURL*(bool is_keyword)); 64 MOCK_CONST_METHOD1(GetTemplateURL, const TemplateURL*(bool is_keyword));
67 MOCK_CONST_METHOD1(GetInput, const AutocompleteInput(bool is_keyword)); 65 MOCK_CONST_METHOD1(GetInput, const AutocompleteInput(bool is_keyword));
68 MOCK_CONST_METHOD1(ShouldAppendExtraParams, 66 MOCK_CONST_METHOD1(ShouldAppendExtraParams,
69 bool(const SearchSuggestionParser::SuggestResult& result)); 67 bool(const SearchSuggestionParser::SuggestResult& result));
70 MOCK_METHOD1(RecordDeletionResult, void(bool success)); 68 MOCK_METHOD1(RecordDeletionResult, void(bool success));
71 69
72 MOCK_METHOD3(Start, 70 MOCK_METHOD3(Start,
73 void(const AutocompleteInput& input, bool minimal_changes, 71 void(const AutocompleteInput& input, bool minimal_changes,
(...skipping 26 matching lines...) Expand all
100 protected: 98 protected:
101 void SetUp() override { 99 void SetUp() override {
102 service_.reset( 100 service_.reset(
103 new TemplateURLService(NULL, 101 new TemplateURLService(NULL,
104 scoped_ptr<SearchTermsData>(new SearchTermsData), 102 scoped_ptr<SearchTermsData>(new SearchTermsData),
105 NULL, 103 NULL,
106 scoped_ptr<TemplateURLServiceClient>(), 104 scoped_ptr<TemplateURLServiceClient>(),
107 NULL, 105 NULL,
108 NULL, 106 NULL,
109 base::Closure())); 107 base::Closure()));
108 client_.reset(new NiceMock<MockAutocompleteProviderClient>());
110 provider_ = new NiceMock<TestBaseSearchProvider>( 109 provider_ = new NiceMock<TestBaseSearchProvider>(
111 service_.get(), 110 AutocompleteProvider::TYPE_SEARCH, client_.get(), service_.get());
112 new NiceMock<MockAutocompleteProviderClient>,
113 AutocompleteProvider::TYPE_SEARCH);
114 } 111 }
115 112
116 scoped_refptr<NiceMock<TestBaseSearchProvider> > provider_; 113 scoped_refptr<NiceMock<TestBaseSearchProvider> > provider_;
117 scoped_ptr<TemplateURLService> service_; 114 scoped_ptr<TemplateURLService> service_;
115 scoped_ptr<NiceMock<MockAutocompleteProviderClient>> client_;
118 }; 116 };
119 117
120 TEST_F(BaseSearchProviderTest, PreserveAnswersWhenDeduplicating) { 118 TEST_F(BaseSearchProviderTest, PreserveAnswersWhenDeduplicating) {
121 TemplateURLData data; 119 TemplateURLData data;
122 data.SetURL("http://foo.com/url?bar={searchTerms}"); 120 data.SetURL("http://foo.com/url?bar={searchTerms}");
123 scoped_ptr<TemplateURL> template_url(new TemplateURL(data)); 121 scoped_ptr<TemplateURL> template_url(new TemplateURL(data));
124 122
125 TestBaseSearchProvider::MatchMap map; 123 TestBaseSearchProvider::MatchMap map;
126 base::string16 query = base::ASCIIToUTF16("weather los angeles"); 124 base::string16 query = base::ASCIIToUTF16("weather los angeles");
127 base::string16 answer_contents = base::ASCIIToUTF16("some answer content"); 125 base::string16 answer_contents = base::ASCIIToUTF16("some answer content");
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 EXPECT_TRUE(answer2->Equals(*match.answer)); 193 EXPECT_TRUE(answer2->Equals(*match.answer));
196 EXPECT_EQ(AutocompleteMatchType::SEARCH_HISTORY, match.type); 194 EXPECT_EQ(AutocompleteMatchType::SEARCH_HISTORY, match.type);
197 EXPECT_EQ(1300, match.relevance); 195 EXPECT_EQ(1300, match.relevance);
198 196
199 EXPECT_EQ(answer_contents, duplicate.answer_contents); 197 EXPECT_EQ(answer_contents, duplicate.answer_contents);
200 EXPECT_EQ(answer_type, duplicate.answer_type); 198 EXPECT_EQ(answer_type, duplicate.answer_type);
201 EXPECT_TRUE(answer->Equals(*duplicate.answer)); 199 EXPECT_TRUE(answer->Equals(*duplicate.answer));
202 EXPECT_EQ(AutocompleteMatchType::SEARCH_SUGGEST, duplicate.type); 200 EXPECT_EQ(AutocompleteMatchType::SEARCH_SUGGEST, duplicate.type);
203 EXPECT_EQ(850, duplicate.relevance); 201 EXPECT_EQ(850, duplicate.relevance);
204 } 202 }
OLDNEW
« no previous file with comments | « components/omnibox/base_search_provider.cc ('k') | components/omnibox/search_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698