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

Side by Side Diff: chrome/browser/webdata/web_data_service_unittest.cc

Issue 11000016: Move forms/ out of webkit/. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Response to review Created 8 years, 2 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 | « chrome/browser/webdata/web_data_service.cc ('k') | chrome/chrome_browser.gypi » ('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 (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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/memory/scoped_vector.h" 11 #include "base/memory/scoped_vector.h"
12 #include "base/message_loop.h" 12 #include "base/message_loop.h"
13 #include "base/scoped_temp_dir.h" 13 #include "base/scoped_temp_dir.h"
14 #include "base/stl_util.h" 14 #include "base/stl_util.h"
15 #include "base/string16.h" 15 #include "base/string16.h"
16 #include "base/string_util.h" 16 #include "base/string_util.h"
17 #include "base/synchronization/waitable_event.h" 17 #include "base/synchronization/waitable_event.h"
18 #include "base/time.h" 18 #include "base/time.h"
19 #include "base/utf_string_conversions.h" 19 #include "base/utf_string_conversions.h"
20 #include "chrome/browser/autofill/autofill_profile.h" 20 #include "chrome/browser/autofill/autofill_profile.h"
21 #include "chrome/browser/autofill/credit_card.h" 21 #include "chrome/browser/autofill/credit_card.h"
22 #include "chrome/browser/intents/default_web_intent_service.h" 22 #include "chrome/browser/intents/default_web_intent_service.h"
23 #include "chrome/browser/webdata/autofill_change.h" 23 #include "chrome/browser/webdata/autofill_change.h"
24 #include "chrome/browser/webdata/autofill_entry.h" 24 #include "chrome/browser/webdata/autofill_entry.h"
25 #include "chrome/browser/webdata/web_data_service.h" 25 #include "chrome/browser/webdata/web_data_service.h"
26 #include "chrome/browser/webdata/web_data_service_test_util.h" 26 #include "chrome/browser/webdata/web_data_service_test_util.h"
27 #include "chrome/browser/webdata/web_intents_table.h" 27 #include "chrome/browser/webdata/web_intents_table.h"
28 #include "chrome/common/chrome_notification_types.h" 28 #include "chrome/common/chrome_notification_types.h"
29 #include "chrome/common/chrome_paths.h" 29 #include "chrome/common/chrome_paths.h"
30 #include "chrome/common/form_field_data.h"
30 #include "chrome/test/base/thread_observer_helper.h" 31 #include "chrome/test/base/thread_observer_helper.h"
31 #include "content/public/browser/notification_details.h" 32 #include "content/public/browser/notification_details.h"
32 #include "content/public/browser/notification_service.h" 33 #include "content/public/browser/notification_service.h"
33 #include "content/public/test/test_browser_thread.h" 34 #include "content/public/test/test_browser_thread.h"
34 #include "testing/gmock/include/gmock/gmock.h" 35 #include "testing/gmock/include/gmock/gmock.h"
35 #include "testing/gtest/include/gtest/gtest.h" 36 #include "testing/gtest/include/gtest/gtest.h"
36 #include "webkit/forms/form_field.h"
37 37
38 using base::Time; 38 using base::Time;
39 using base::TimeDelta; 39 using base::TimeDelta;
40 using base::WaitableEvent; 40 using base::WaitableEvent;
41 using content::BrowserThread; 41 using content::BrowserThread;
42 using testing::_; 42 using testing::_;
43 using testing::DoDefault; 43 using testing::DoDefault;
44 using testing::ElementsAreArray; 44 using testing::ElementsAreArray;
45 using testing::Pointee; 45 using testing::Pointee;
46 using testing::Property; 46 using testing::Property;
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 } 128 }
129 129
130 virtual void TearDown() { 130 virtual void TearDown() {
131 // Release this first so it can get destructed on the db thread. 131 // Release this first so it can get destructed on the db thread.
132 observer_helper_ = NULL; 132 observer_helper_ = NULL;
133 WebDataServiceTest::TearDown(); 133 WebDataServiceTest::TearDown();
134 } 134 }
135 135
136 void AppendFormField(const string16& name, 136 void AppendFormField(const string16& name,
137 const string16& value, 137 const string16& value,
138 std::vector<webkit::forms::FormField>* form_fields) { 138 std::vector<FormFieldData>* form_fields) {
139 webkit::forms::FormField field; 139 FormFieldData field;
140 field.name = name; 140 field.name = name;
141 field.value = value; 141 field.value = value;
142 form_fields->push_back(field); 142 form_fields->push_back(field);
143 } 143 }
144 144
145 string16 name1_; 145 string16 name1_;
146 string16 name2_; 146 string16 name2_;
147 string16 value1_; 147 string16 value1_;
148 string16 value2_; 148 string16 value2_;
149 int unique_id1_, unique_id2_; 149 int unique_id1_, unique_id2_;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 // This will verify that the correct notification is triggered, 238 // This will verify that the correct notification is triggered,
239 // passing the correct list of autofill keys in the details. 239 // passing the correct list of autofill keys in the details.
240 EXPECT_CALL( 240 EXPECT_CALL(
241 *observer_helper_->observer(), 241 *observer_helper_->observer(),
242 Observe(int(chrome::NOTIFICATION_AUTOFILL_ENTRIES_CHANGED), 242 Observe(int(chrome::NOTIFICATION_AUTOFILL_ENTRIES_CHANGED),
243 content::Source<WebDataService>(wds_.get()), 243 content::Source<WebDataService>(wds_.get()),
244 Property(&content::Details<const AutofillChangeList>::ptr, 244 Property(&content::Details<const AutofillChangeList>::ptr,
245 Pointee(ElementsAreArray(expected_changes))))). 245 Pointee(ElementsAreArray(expected_changes))))).
246 WillOnce(SignalEvent(&done_event_)); 246 WillOnce(SignalEvent(&done_event_));
247 247
248 std::vector<webkit::forms::FormField> form_fields; 248 std::vector<FormFieldData> form_fields;
249 AppendFormField(name1_, value1_, &form_fields); 249 AppendFormField(name1_, value1_, &form_fields);
250 AppendFormField(name2_, value2_, &form_fields); 250 AppendFormField(name2_, value2_, &form_fields);
251 wds_->AddFormFields(form_fields); 251 wds_->AddFormFields(form_fields);
252 252
253 // The event will be signaled when the mock observer is notified. 253 // The event will be signaled when the mock observer is notified.
254 done_event_.TimedWait(test_timeout_); 254 done_event_.TimedWait(test_timeout_);
255 255
256 AutofillWebDataServiceConsumer<std::vector<string16> > consumer; 256 AutofillWebDataServiceConsumer<std::vector<string16> > consumer;
257 WebDataService::Handle handle; 257 WebDataService::Handle handle;
258 static const int limit = 10; 258 static const int limit = 10;
259 handle = wds_->GetFormValuesForElementName( 259 handle = wds_->GetFormValuesForElementName(
260 name1_, string16(), limit, &consumer); 260 name1_, string16(), limit, &consumer);
261 261
262 // The message loop will exit when the consumer is called. 262 // The message loop will exit when the consumer is called.
263 MessageLoop::current()->Run(); 263 MessageLoop::current()->Run();
264 264
265 EXPECT_EQ(handle, consumer.handle()); 265 EXPECT_EQ(handle, consumer.handle());
266 ASSERT_EQ(1U, consumer.result().size()); 266 ASSERT_EQ(1U, consumer.result().size());
267 EXPECT_EQ(value1_, consumer.result()[0]); 267 EXPECT_EQ(value1_, consumer.result()[0]);
268 } 268 }
269 269
270 TEST_F(WebDataServiceAutofillTest, FormFillRemoveOne) { 270 TEST_F(WebDataServiceAutofillTest, FormFillRemoveOne) {
271 // First add some values to autofill. 271 // First add some values to autofill.
272 EXPECT_CALL(*observer_helper_->observer(), Observe(_, _, _)). 272 EXPECT_CALL(*observer_helper_->observer(), Observe(_, _, _)).
273 WillOnce(SignalEvent(&done_event_)); 273 WillOnce(SignalEvent(&done_event_));
274 std::vector<webkit::forms::FormField> form_fields; 274 std::vector<FormFieldData> form_fields;
275 AppendFormField(name1_, value1_, &form_fields); 275 AppendFormField(name1_, value1_, &form_fields);
276 wds_->AddFormFields(form_fields); 276 wds_->AddFormFields(form_fields);
277 277
278 // The event will be signaled when the mock observer is notified. 278 // The event will be signaled when the mock observer is notified.
279 done_event_.TimedWait(test_timeout_); 279 done_event_.TimedWait(test_timeout_);
280 280
281 // This will verify that the correct notification is triggered, 281 // This will verify that the correct notification is triggered,
282 // passing the correct list of autofill keys in the details. 282 // passing the correct list of autofill keys in the details.
283 const AutofillChange expected_changes[] = { 283 const AutofillChange expected_changes[] = {
284 AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_)) 284 AutofillChange(AutofillChange::REMOVE, AutofillKey(name1_, value1_))
(...skipping 10 matching lines...) Expand all
295 // The event will be signaled when the mock observer is notified. 295 // The event will be signaled when the mock observer is notified.
296 done_event_.TimedWait(test_timeout_); 296 done_event_.TimedWait(test_timeout_);
297 } 297 }
298 298
299 TEST_F(WebDataServiceAutofillTest, FormFillRemoveMany) { 299 TEST_F(WebDataServiceAutofillTest, FormFillRemoveMany) {
300 TimeDelta one_day(TimeDelta::FromDays(1)); 300 TimeDelta one_day(TimeDelta::FromDays(1));
301 Time t = Time::Now(); 301 Time t = Time::Now();
302 302
303 EXPECT_CALL(*observer_helper_->observer(), Observe(_, _, _)). 303 EXPECT_CALL(*observer_helper_->observer(), Observe(_, _, _)).
304 WillOnce(SignalEvent(&done_event_)); 304 WillOnce(SignalEvent(&done_event_));
305 std::vector<webkit::forms::FormField> form_fields; 305 std::vector<FormFieldData> form_fields;
306 AppendFormField(name1_, value1_, &form_fields); 306 AppendFormField(name1_, value1_, &form_fields);
307 AppendFormField(name2_, value2_, &form_fields); 307 AppendFormField(name2_, value2_, &form_fields);
308 wds_->AddFormFields(form_fields); 308 wds_->AddFormFields(form_fields);
309 309
310 // The event will be signaled when the mock observer is notified. 310 // The event will be signaled when the mock observer is notified.
311 done_event_.TimedWait(test_timeout_); 311 done_event_.TimedWait(test_timeout_);
312 312
313 // This will verify that the correct notification is triggered, 313 // This will verify that the correct notification is triggered,
314 // passing the correct list of autofill keys in the details. 314 // passing the correct list of autofill keys in the details.
315 const AutofillChange expected_changes[] = { 315 const AutofillChange expected_changes[] = {
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 } 828 }
829 829
830 TEST_F(WebDataServiceTest, DidDefaultSearchProviderChangeOnNewProfile) { 830 TEST_F(WebDataServiceTest, DidDefaultSearchProviderChangeOnNewProfile) {
831 KeywordsConsumer consumer; 831 KeywordsConsumer consumer;
832 wds_->GetKeywords(&consumer); 832 wds_->GetKeywords(&consumer);
833 WaitUntilCalled(); 833 WaitUntilCalled();
834 ASSERT_TRUE(consumer.load_succeeded); 834 ASSERT_TRUE(consumer.load_succeeded);
835 EXPECT_FALSE(consumer.keywords_result.did_default_search_provider_change); 835 EXPECT_FALSE(consumer.keywords_result.did_default_search_provider_change);
836 EXPECT_FALSE(consumer.keywords_result.backup_valid); 836 EXPECT_FALSE(consumer.keywords_result.backup_valid);
837 } 837 }
OLDNEW
« no previous file with comments | « chrome/browser/webdata/web_data_service.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698