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

Side by Side Diff: components/autofill/core/browser/autocomplete_history_manager_unittest.cc

Issue 772253003: Create an autofill Suggestion class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: self review 2 Created 6 years 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <vector> 5 #include <vector>
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 189
190 namespace { 190 namespace {
191 191
192 class MockAutofillExternalDelegate : public AutofillExternalDelegate { 192 class MockAutofillExternalDelegate : public AutofillExternalDelegate {
193 public: 193 public:
194 MockAutofillExternalDelegate(AutofillManager* autofill_manager, 194 MockAutofillExternalDelegate(AutofillManager* autofill_manager,
195 AutofillDriver* autofill_driver) 195 AutofillDriver* autofill_driver)
196 : AutofillExternalDelegate(autofill_manager, autofill_driver) {} 196 : AutofillExternalDelegate(autofill_manager, autofill_driver) {}
197 virtual ~MockAutofillExternalDelegate() {} 197 virtual ~MockAutofillExternalDelegate() {}
198 198
199 MOCK_METHOD5(OnSuggestionsReturned, 199 MOCK_METHOD2(OnSuggestionsReturned,
200 void(int query_id, 200 void(int query_id,
201 const std::vector<base::string16>& autofill_values, 201 const std::vector<Suggestion>& suggestions));
202 const std::vector<base::string16>& autofill_labels,
203 const std::vector<base::string16>& autofill_icons,
204 const std::vector<int>& autofill_unique_ids));
205 202
206 private: 203 private:
207 DISALLOW_COPY_AND_ASSIGN(MockAutofillExternalDelegate); 204 DISALLOW_COPY_AND_ASSIGN(MockAutofillExternalDelegate);
208 }; 205 };
209 206
210 class TestAutocompleteHistoryManager : public AutocompleteHistoryManager { 207 class TestAutocompleteHistoryManager : public AutocompleteHistoryManager {
211 public: 208 public:
212 TestAutocompleteHistoryManager(AutofillDriver* driver, AutofillClient* client) 209 TestAutocompleteHistoryManager(AutofillDriver* driver, AutofillClient* client)
213 : AutocompleteHistoryManager(driver, client) {} 210 : AutocompleteHistoryManager(driver, client) {}
214 211
215 using AutocompleteHistoryManager::SendSuggestions; 212 using AutocompleteHistoryManager::SendSuggestions;
216 }; 213 };
217 214
215 // Predicate for GMock.
216 bool IsEmptySuggestionVector(const std::vector<Suggestion>& suggestions) {
217 return suggestions.empty();
218 }
219
218 } // namespace 220 } // namespace
219 221
220 // Make sure our external delegate is called at the right time. 222 // Make sure our external delegate is called at the right time.
221 TEST_F(AutocompleteHistoryManagerTest, ExternalDelegate) { 223 TEST_F(AutocompleteHistoryManagerTest, ExternalDelegate) {
222 TestAutocompleteHistoryManager autocomplete_history_manager( 224 TestAutocompleteHistoryManager autocomplete_history_manager(
223 autofill_driver_.get(), autofill_client_.get()); 225 autofill_driver_.get(), autofill_client_.get());
224 226
225 scoped_ptr<AutofillManager> autofill_manager( 227 scoped_ptr<AutofillManager> autofill_manager(
226 new AutofillManager(autofill_driver_.get(), 228 new AutofillManager(autofill_driver_.get(),
227 autofill_client_.get(), 229 autofill_client_.get(),
228 "en-US", 230 "en-US",
229 AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER)); 231 AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER));
230 232
231 MockAutofillExternalDelegate external_delegate(autofill_manager.get(), 233 MockAutofillExternalDelegate external_delegate(autofill_manager.get(),
232 autofill_driver_.get()); 234 autofill_driver_.get());
233 autocomplete_history_manager.SetExternalDelegate(&external_delegate); 235 autocomplete_history_manager.SetExternalDelegate(&external_delegate);
234 236
235 // Should trigger a call to OnSuggestionsReturned, verified by the mock. 237 // Should trigger a call to OnSuggestionsReturned, verified by the mock.
236 EXPECT_CALL(external_delegate, OnSuggestionsReturned(_, _, _, _, _)); 238 EXPECT_CALL(external_delegate, OnSuggestionsReturned(_, _));
237 autocomplete_history_manager.SendSuggestions(NULL); 239 autocomplete_history_manager.SendSuggestions(NULL);
238 } 240 }
239 241
240 // Verify that no autocomplete suggestion is returned for textarea. 242 // Verify that no autocomplete suggestion is returned for textarea.
241 TEST_F(AutocompleteHistoryManagerTest, NoAutocompleteSuggestionsForTextarea) { 243 TEST_F(AutocompleteHistoryManagerTest, NoAutocompleteSuggestionsForTextarea) {
242 TestAutocompleteHistoryManager autocomplete_history_manager( 244 TestAutocompleteHistoryManager autocomplete_history_manager(
243 autofill_driver_.get(), autofill_client_.get()); 245 autofill_driver_.get(), autofill_client_.get());
244 246
245 scoped_ptr<AutofillManager> autofill_manager( 247 scoped_ptr<AutofillManager> autofill_manager(
246 new AutofillManager(autofill_driver_.get(), 248 new AutofillManager(autofill_driver_.get(),
247 autofill_client_.get(), 249 autofill_client_.get(),
248 "en-US", 250 "en-US",
249 AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER)); 251 AutofillManager::ENABLE_AUTOFILL_DOWNLOAD_MANAGER));
250 252
251 MockAutofillExternalDelegate external_delegate(autofill_manager.get(), 253 MockAutofillExternalDelegate external_delegate(autofill_manager.get(),
252 autofill_driver_.get()); 254 autofill_driver_.get());
253 autocomplete_history_manager.SetExternalDelegate(&external_delegate); 255 autocomplete_history_manager.SetExternalDelegate(&external_delegate);
254 256
255 FormData form; 257 FormData form;
256 form.name = ASCIIToUTF16("MyForm"); 258 form.name = ASCIIToUTF16("MyForm");
257 form.origin = GURL("http://myform.com/form.html"); 259 form.origin = GURL("http://myform.com/form.html");
258 form.action = GURL("http://myform.com/submit.html"); 260 form.action = GURL("http://myform.com/submit.html");
259 form.user_submitted = true; 261 form.user_submitted = true;
260 262
261 FormFieldData field; 263 FormFieldData field;
262 test::CreateTestFormField("Address", "address", "", "textarea", &field); 264 test::CreateTestFormField("Address", "address", "", "textarea", &field);
263 265
264 EXPECT_CALL(external_delegate, 266 EXPECT_CALL(external_delegate,
265 OnSuggestionsReturned(0, 267 OnSuggestionsReturned(0,
266 std::vector<base::string16>(), 268 testing::Truly(IsEmptySuggestionVector)));
267 std::vector<base::string16>(),
268 std::vector<base::string16>(),
269 std::vector<int>()));
270 autocomplete_history_manager.OnGetAutocompleteSuggestions( 269 autocomplete_history_manager.OnGetAutocompleteSuggestions(
271 0, 270 0,
272 field.name, 271 field.name,
273 field.value, 272 field.value,
274 field.form_control_type, 273 field.form_control_type,
275 std::vector<base::string16>(), 274 std::vector<Suggestion>());
276 std::vector<base::string16>(),
277 std::vector<base::string16>(),
278 std::vector<int>());
279 } 275 }
280 276
281 } // namespace autofill 277 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698