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

Side by Side Diff: chrome/browser/autofill/autofill_dialog_controller_mac_unittest.mm

Issue 1902003: Revert 46424 - AutoFill profile shouldn't be saved when cancelled during init... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 7 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #import "chrome/browser/autofill/autofill_address_model_mac.h" 5 #import "chrome/browser/autofill/autofill_address_model_mac.h"
6 #import "chrome/browser/autofill/autofill_address_view_controller_mac.h" 6 #import "chrome/browser/autofill/autofill_address_view_controller_mac.h"
7 #import "chrome/browser/autofill/autofill_credit_card_model_mac.h" 7 #import "chrome/browser/autofill/autofill_credit_card_model_mac.h"
8 #import "chrome/browser/autofill/autofill_credit_card_view_controller_mac.h" 8 #import "chrome/browser/autofill/autofill_credit_card_view_controller_mac.h"
9 #import "chrome/browser/autofill/autofill_dialog_controller_mac.h" 9 #import "chrome/browser/autofill/autofill_dialog_controller_mac.h"
10 #include "chrome/browser/autofill/autofill_profile.h" 10 #include "chrome/browser/autofill/autofill_profile.h"
11 #include "chrome/browser/autofill/personal_data_manager.h"
12 #include "chrome/browser/cocoa/browser_test_helper.h" 11 #include "chrome/browser/cocoa/browser_test_helper.h"
13 #import "chrome/browser/cocoa/cocoa_test_helper.h" 12 #import "chrome/browser/cocoa/cocoa_test_helper.h"
14 #include "chrome/browser/pref_service.h" 13 #include "chrome/browser/pref_service.h"
15 #include "chrome/browser/profile.h" 14 #include "chrome/browser/profile.h"
16 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
17 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
18 17
19 namespace { 18 namespace {
20 19 class AutoFillDialogObserverTester : public AutoFillDialogObserver {
21 // Simulated delay (in milliseconds) for web data loading.
22 const float kWebDataLoadDelayMilliseconds = 10.0;
23
24 // Mock PersonalDataManager that gives back canned profiles and credit cards
25 // as well as simulating delayed loading of web data using the
26 // |PersonalDataManager::Observer| interface.
27 class PersonalDataManagerMock : public PersonalDataManager {
28 public: 20 public:
29 PersonalDataManagerMock() 21 AutoFillDialogObserverTester()
30 : observer_(NULL),
31 test_data_is_loaded_(true) {}
32 virtual ~PersonalDataManagerMock() {}
33
34 virtual const std::vector<AutoFillProfile*>& web_profiles() {
35 return test_profiles_;
36 }
37 virtual const std::vector<CreditCard*>& credit_cards() {
38 return test_credit_cards_;
39 }
40 virtual bool IsDataLoaded() const { return test_data_is_loaded_; }
41 virtual void SetObserver(PersonalDataManager::Observer* observer) {
42 DCHECK(observer);
43 observer_ = observer;
44
45 // This delay allows the UI loop to run and display intermediate results
46 // while the data is loading. When notified that the data is available the
47 // UI updates with the new data. 10ms is a nice short amount of time to
48 // let the UI thread update but does not slow down the tests too much.
49 MessageLoop::current()->PostDelayedTask(
50 FROM_HERE,
51 new MessageLoop::QuitTask,
52 kWebDataLoadDelayMilliseconds);
53 MessageLoop::current()->Run();
54 observer_->OnPersonalDataLoaded();
55 }
56 virtual void RemoveObserver(PersonalDataManager::Observer* observer) {
57 observer_ = NULL;
58 }
59
60 std::vector<AutoFillProfile*> test_profiles_;
61 std::vector<CreditCard*> test_credit_cards_;
62 PersonalDataManager::Observer* observer_;
63 bool test_data_is_loaded_;
64
65 private:
66 DISALLOW_COPY_AND_ASSIGN(PersonalDataManagerMock);
67 };
68
69 // Mock profile that gives back our own mock |PersonalDataManager|.
70 class ProfileMock : public TestingProfile {
71 public:
72 ProfileMock() {
73 test_manager_.reset(new PersonalDataManagerMock);
74 }
75 virtual ~ProfileMock() {}
76
77 virtual PersonalDataManager* GetPersonalDataManager() {
78 return test_manager_.get();
79 }
80
81 scoped_ptr<PersonalDataManagerMock> test_manager_;
82
83 private:
84 DISALLOW_COPY_AND_ASSIGN(ProfileMock);
85 };
86
87 // Mock browser that gives back our own |BrowserMock| instance as the profile.
88 class BrowserMock : public BrowserTestHelper {
89 public:
90 BrowserMock() {
91 test_profile_.reset(new ProfileMock);
92 }
93 virtual ~BrowserMock() {}
94
95 // Override of |BrowserTestHelper::profile()|.
96 virtual TestingProfile* profile() const {
97 return test_profile_.get();
98 }
99
100 scoped_ptr<ProfileMock> test_profile_;
101
102 private:
103 DISALLOW_COPY_AND_ASSIGN(BrowserMock);
104 };
105
106 // Mock observer for the AutoFill settings dialog.
107 class AutoFillDialogObserverMock : public AutoFillDialogObserver {
108 public:
109 AutoFillDialogObserverMock()
110 : hit_(false) {} 22 : hit_(false) {}
111 virtual ~AutoFillDialogObserverMock() {} 23 virtual ~AutoFillDialogObserverTester() {}
112 24
113 virtual void OnAutoFillDialogApply( 25 virtual void OnAutoFillDialogApply(
114 std::vector<AutoFillProfile>* profiles, 26 std::vector<AutoFillProfile>* profiles,
115 std::vector<CreditCard>* credit_cards) { 27 std::vector<CreditCard>* credit_cards) {
116 hit_ = true; 28 hit_ = true;
117 29
118 std::vector<AutoFillProfile>::iterator i; 30 std::vector<AutoFillProfile>::iterator i;
119 profiles_.clear(); 31 profiles_.clear();
120 for (i = profiles->begin(); i != profiles->end(); ++i) 32 for (i = profiles->begin(); i != profiles->end(); ++i)
121 profiles_.push_back(*i); 33 profiles_.push_back(*i);
122 34
123 std::vector<CreditCard>::iterator j; 35 std::vector<CreditCard>::iterator j;
124 credit_cards_.clear(); 36 credit_cards_.clear();
125 for (j = credit_cards->begin(); j != credit_cards->end(); ++j) 37 for (j = credit_cards->begin(); j != credit_cards->end(); ++j)
126 credit_cards_.push_back(*j); 38 credit_cards_.push_back(*j);
127 } 39 }
128 40
129 bool hit_; 41 bool hit_;
130 std::vector<AutoFillProfile> profiles_; 42 std::vector<AutoFillProfile> profiles_;
131 std::vector<CreditCard> credit_cards_; 43 std::vector<CreditCard> credit_cards_;
132 44
133 private: 45 private:
134 DISALLOW_COPY_AND_ASSIGN(AutoFillDialogObserverMock); 46 DISALLOW_COPY_AND_ASSIGN(AutoFillDialogObserverTester);
135 }; 47 };
136 48
137 // Test fixture for setting up and tearing down our dialog controller under
138 // test. Also provides helper methods to access the source profiles and
139 // credit card information stored in mock |PersonalDataManager|.
140 class AutoFillDialogControllerTest : public CocoaTest { 49 class AutoFillDialogControllerTest : public CocoaTest {
141 public: 50 public:
142 AutoFillDialogControllerTest() 51 AutoFillDialogControllerTest() {}
143 : controller_(nil),
144 imported_profile_(NULL),
145 imported_credit_card_(NULL) {
146 }
147 52
148 void LoadDialog() { 53 void LoadDialog() {
149 controller_ = [AutoFillDialogController 54 controller_ = [AutoFillDialogController
150 controllerWithObserver:&observer_ 55 controllerWithObserver:&observer_
151 profile:helper_.profile() 56 autoFillProfiles:profiles_
152 importedProfile:imported_profile_ 57 creditCards:credit_cards_
153 importedCreditCard:imported_credit_card_]; 58 profile:helper_.profile()];
154 [controller_ window]; 59 [controller_ window];
155 } 60 }
156 61
157 std::vector<AutoFillProfile*>& profiles() { 62 BrowserTestHelper helper_;
158 return helper_.test_profile_->test_manager_->test_profiles_; 63 AutoFillDialogObserverTester observer_;
159 } 64 AutoFillDialogController* controller_; // weak reference
160 std::vector<CreditCard*>& credit_cards() { 65 std::vector<AutoFillProfile*> profiles_; // weak references within vector
161 return helper_.test_profile_->test_manager_->test_credit_cards_; 66 std::vector<CreditCard*> credit_cards_; // weak references within vector
162 }
163
164 BrowserMock helper_;
165 AutoFillDialogObserverMock observer_;
166 AutoFillDialogController* controller_; // weak reference
167 AutoFillProfile* imported_profile_; // weak reference
168 CreditCard* imported_credit_card_; // weak reference
169 67
170 private: 68 private:
171 DISALLOW_COPY_AND_ASSIGN(AutoFillDialogControllerTest); 69 DISALLOW_COPY_AND_ASSIGN(AutoFillDialogControllerTest);
172 }; 70 };
173 71
174 TEST_F(AutoFillDialogControllerTest, SaveButtonInformsObserver) { 72 TEST_F(AutoFillDialogControllerTest, SaveButtonInformsObserver) {
175 LoadDialog(); 73 LoadDialog();
176 [controller_ save:nil]; 74 [controller_ save:nil];
177 ASSERT_TRUE(observer_.hit_); 75 ASSERT_TRUE(observer_.hit_);
178 } 76 }
179 77
180 TEST_F(AutoFillDialogControllerTest, CancelButtonDoesNotInformObserver) { 78 TEST_F(AutoFillDialogControllerTest, CancelButtonDoesNotInformObserver) {
181 LoadDialog(); 79 LoadDialog();
182 [controller_ cancel:nil]; 80 [controller_ cancel:nil];
183 ASSERT_FALSE(observer_.hit_); 81 ASSERT_FALSE(observer_.hit_);
184 } 82 }
185 83
186 TEST_F(AutoFillDialogControllerTest, NoEditsGiveBackOriginalProfile) { 84 TEST_F(AutoFillDialogControllerTest, NoEditsGiveBackOriginalProfile) {
187 AutoFillProfile profile; 85 AutoFillProfile profile;
188 profiles().push_back(&profile); 86 profiles_.push_back(&profile);
189 LoadDialog(); 87 LoadDialog();
190 [controller_ save:nil]; 88 [controller_ save:nil];
191 89
192 // Should hit our observer. 90 // Should hit our observer.
193 ASSERT_TRUE(observer_.hit_); 91 ASSERT_TRUE(observer_.hit_);
194 92
195 // Sizes should match. 93 // Sizes should match.
196 ASSERT_EQ(observer_.profiles_.size(), profiles().size()); 94 ASSERT_EQ(observer_.profiles_.size(), profiles_.size());
197 95
198 // Contents should match. 96 // Contents should match.
199 size_t i = 0; 97 size_t i = 0;
200 size_t count = profiles().size(); 98 size_t count = profiles_.size();
201 for (i = 0; i < count; i++) 99 for (i = 0; i < count; i++)
202 ASSERT_EQ(observer_.profiles_[i], *profiles()[i]); 100 ASSERT_EQ(observer_.profiles_[i], *profiles_[i]);
203 101
204 // Contents should not match a different profile. 102 // Contents should not match a different profile.
205 AutoFillProfile different_profile; 103 AutoFillProfile different_profile;
206 different_profile.set_label(ASCIIToUTF16("different")); 104 different_profile.set_label(ASCIIToUTF16("different"));
207 different_profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("joe")); 105 different_profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("joe"));
208 for (i = 0; i < count; i++) 106 for (i = 0; i < count; i++)
209 ASSERT_NE(observer_.profiles_[i], different_profile); 107 ASSERT_NE(observer_.profiles_[i], different_profile);
210 } 108 }
211 109
212 TEST_F(AutoFillDialogControllerTest, NoEditsGiveBackOriginalCreditCard) { 110 TEST_F(AutoFillDialogControllerTest, NoEditsGiveBackOriginalCreditCard) {
213 CreditCard credit_card(ASCIIToUTF16("myCC"), 345); 111 CreditCard credit_card(ASCIIToUTF16("myCC"), 345);
214 credit_cards().push_back(&credit_card); 112 credit_cards_.push_back(&credit_card);
215 LoadDialog(); 113 LoadDialog();
216 [controller_ save:nil]; 114 [controller_ save:nil];
217 115
218 // Should hit our observer. 116 // Should hit our observer.
219 ASSERT_TRUE(observer_.hit_); 117 ASSERT_TRUE(observer_.hit_);
220 118
221 // Sizes should match. 119 // Sizes should match.
222 ASSERT_EQ(observer_.credit_cards_.size(), credit_cards().size()); 120 ASSERT_EQ(observer_.credit_cards_.size(), credit_cards_.size());
223 121
224 // Contents should match. With the exception of the |unique_id|. 122 // Contents should match. With the exception of the |unique_id|.
225 size_t i = 0; 123 size_t i = 0;
226 size_t count = credit_cards().size(); 124 size_t count = credit_cards_.size();
227 for (i = 0; i < count; i++) { 125 for (i = 0; i < count; i++) {
228 credit_cards()[i]->set_unique_id(observer_.credit_cards_[i].unique_id()); 126 credit_cards_[i]->set_unique_id(observer_.credit_cards_[i].unique_id());
229 ASSERT_EQ(observer_.credit_cards_[i], *credit_cards()[i]); 127 ASSERT_EQ(observer_.credit_cards_[i], *credit_cards_[i]);
230 } 128 }
231 129
232 // Contents should not match a different profile. 130 // Contents should not match a different profile.
233 CreditCard different_credit_card(ASCIIToUTF16("different"), 0); 131 CreditCard different_credit_card(ASCIIToUTF16("different"), 0);
234 different_credit_card.SetInfo( 132 different_credit_card.SetInfo(
235 AutoFillType(CREDIT_CARD_NUMBER), ASCIIToUTF16("1234")); 133 AutoFillType(CREDIT_CARD_NUMBER), ASCIIToUTF16("1234"));
236 for (i = 0; i < count; i++) 134 for (i = 0; i < count; i++)
237 ASSERT_NE(observer_.credit_cards_[i], different_credit_card); 135 ASSERT_NE(observer_.credit_cards_[i], different_credit_card);
238 } 136 }
239 137
240 TEST_F(AutoFillDialogControllerTest, AutoFillDataMutation) { 138 TEST_F(AutoFillDialogControllerTest, AutoFillDataMutation) {
241 AutoFillProfile profile(ASCIIToUTF16("Home"), 17); 139 AutoFillProfile profile(ASCIIToUTF16("Home"), 17);
242 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("David")); 140 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("David"));
243 profile.SetInfo(AutoFillType(NAME_MIDDLE), ASCIIToUTF16("C")); 141 profile.SetInfo(AutoFillType(NAME_MIDDLE), ASCIIToUTF16("C"));
244 profile.SetInfo(AutoFillType(NAME_LAST), ASCIIToUTF16("Holloway")); 142 profile.SetInfo(AutoFillType(NAME_LAST), ASCIIToUTF16("Holloway"));
245 profile.SetInfo(AutoFillType(EMAIL_ADDRESS), 143 profile.SetInfo(AutoFillType(EMAIL_ADDRESS),
246 ASCIIToUTF16("dhollowa@chromium.org")); 144 ASCIIToUTF16("dhollowa@chromium.org"));
247 profile.SetInfo(AutoFillType(COMPANY_NAME), ASCIIToUTF16("Google Inc.")); 145 profile.SetInfo(AutoFillType(COMPANY_NAME), ASCIIToUTF16("Google Inc."));
248 profile.SetInfo( 146 profile.SetInfo(
249 AutoFillType(ADDRESS_HOME_LINE1), ASCIIToUTF16("1122 Mountain View Road")) ; 147 AutoFillType(ADDRESS_HOME_LINE1), ASCIIToUTF16("1122 Mountain View Road")) ;
250 profile.SetInfo(AutoFillType(ADDRESS_HOME_LINE2), ASCIIToUTF16("Suite #1")); 148 profile.SetInfo(AutoFillType(ADDRESS_HOME_LINE2), ASCIIToUTF16("Suite #1"));
251 profile.SetInfo(AutoFillType(ADDRESS_HOME_CITY), 149 profile.SetInfo(AutoFillType(ADDRESS_HOME_CITY),
252 ASCIIToUTF16("Mountain View")); 150 ASCIIToUTF16("Mountain View"));
253 profile.SetInfo(AutoFillType(ADDRESS_HOME_STATE), ASCIIToUTF16("CA")); 151 profile.SetInfo(AutoFillType(ADDRESS_HOME_STATE), ASCIIToUTF16("CA"));
254 profile.SetInfo(AutoFillType(ADDRESS_HOME_ZIP), ASCIIToUTF16("94111")); 152 profile.SetInfo(AutoFillType(ADDRESS_HOME_ZIP), ASCIIToUTF16("94111"));
255 profile.SetInfo(AutoFillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("USA")); 153 profile.SetInfo(AutoFillType(ADDRESS_HOME_COUNTRY), ASCIIToUTF16("USA"));
256 profile.SetInfo(AutoFillType(PHONE_HOME_WHOLE_NUMBER), ASCIIToUTF16("014155552 258")); 154 profile.SetInfo(AutoFillType(PHONE_HOME_WHOLE_NUMBER), ASCIIToUTF16("014155552 258"));
257 profile.SetInfo(AutoFillType(PHONE_FAX_WHOLE_NUMBER), ASCIIToUTF16("0240871722 58")); 155 profile.SetInfo(AutoFillType(PHONE_FAX_WHOLE_NUMBER), ASCIIToUTF16("0240871722 58"));
258 profiles().push_back(&profile); 156 profiles_.push_back(&profile);
259 157
260 LoadDialog(); 158 LoadDialog();
261 159
262 AutoFillAddressModel* am = [[[controller_ addressFormViewControllers] 160 AutoFillAddressModel* am = [[[controller_ addressFormViewControllers]
263 objectAtIndex:0] addressModel]; 161 objectAtIndex:0] addressModel];
264 EXPECT_TRUE([[am label] isEqualToString:@"Home"]); 162 EXPECT_TRUE([[am label] isEqualToString:@"Home"]);
265 EXPECT_TRUE([[am firstName] isEqualToString:@"David"]); 163 EXPECT_TRUE([[am firstName] isEqualToString:@"David"]);
266 EXPECT_TRUE([[am middleName] isEqualToString:@"C"]); 164 EXPECT_TRUE([[am middleName] isEqualToString:@"C"]);
267 EXPECT_TRUE([[am lastName] isEqualToString:@"Holloway"]); 165 EXPECT_TRUE([[am lastName] isEqualToString:@"Holloway"]);
268 EXPECT_TRUE([[am email] isEqualToString:@"dhollowa@chromium.org"]); 166 EXPECT_TRUE([[am email] isEqualToString:@"dhollowa@chromium.org"]);
269 EXPECT_TRUE([[am companyName] isEqualToString:@"Google Inc."]); 167 EXPECT_TRUE([[am companyName] isEqualToString:@"Google Inc."]);
270 EXPECT_TRUE([[am addressLine1] isEqualToString:@"1122 Mountain View Road"]); 168 EXPECT_TRUE([[am addressLine1] isEqualToString:@"1122 Mountain View Road"]);
271 EXPECT_TRUE([[am addressLine2] isEqualToString:@"Suite #1"]); 169 EXPECT_TRUE([[am addressLine2] isEqualToString:@"Suite #1"]);
272 EXPECT_TRUE([[am addressCity] isEqualToString:@"Mountain View"]); 170 EXPECT_TRUE([[am addressCity] isEqualToString:@"Mountain View"]);
273 EXPECT_TRUE([[am addressState] isEqualToString:@"CA"]); 171 EXPECT_TRUE([[am addressState] isEqualToString:@"CA"]);
274 EXPECT_TRUE([[am addressZip] isEqualToString:@"94111"]); 172 EXPECT_TRUE([[am addressZip] isEqualToString:@"94111"]);
275 EXPECT_TRUE([[am phoneWholeNumber] isEqualToString:@"014155552258"]); 173 EXPECT_TRUE([[am phoneWholeNumber] isEqualToString:@"014155552258"]);
276 EXPECT_TRUE([[am faxWholeNumber] isEqualToString:@"024087172258"]); 174 EXPECT_TRUE([[am faxWholeNumber] isEqualToString:@"024087172258"]);
277 175
278 [controller_ save:nil]; 176 [controller_ save:nil];
279 177
280 ASSERT_TRUE(observer_.hit_); 178 ASSERT_TRUE(observer_.hit_);
281 ASSERT_TRUE(observer_.profiles_.size() == 1); 179 ASSERT_TRUE(observer_.profiles_.size() == 1);
282 180
283 profiles()[0]->set_unique_id(observer_.profiles_[0].unique_id()); 181 profiles_[0]->set_unique_id(observer_.profiles_[0].unique_id());
284 ASSERT_EQ(observer_.profiles_[0], *profiles()[0]); 182 ASSERT_EQ(observer_.profiles_[0], *profiles_[0]);
285 } 183 }
286 184
287 TEST_F(AutoFillDialogControllerTest, CreditCardDataMutation) { 185 TEST_F(AutoFillDialogControllerTest, CreditCardDataMutation) {
288 CreditCard credit_card(ASCIIToUTF16("myCC"), 345); 186 CreditCard credit_card(ASCIIToUTF16("myCC"), 345);
289 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("DCH")); 187 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("DCH"));
290 credit_card.SetInfo( 188 credit_card.SetInfo(
291 AutoFillType(CREDIT_CARD_NUMBER), ASCIIToUTF16("1234 5678 9101 1121")); 189 AutoFillType(CREDIT_CARD_NUMBER), ASCIIToUTF16("1234 5678 9101 1121"));
292 credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01")); 190 credit_card.SetInfo(AutoFillType(CREDIT_CARD_EXP_MONTH), ASCIIToUTF16("01"));
293 credit_card.SetInfo( 191 credit_card.SetInfo(
294 AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), ASCIIToUTF16("2012")); 192 AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR), ASCIIToUTF16("2012"));
295 credit_card.SetInfo( 193 credit_card.SetInfo(
296 AutoFillType(CREDIT_CARD_VERIFICATION_CODE), ASCIIToUTF16("222")); 194 AutoFillType(CREDIT_CARD_VERIFICATION_CODE), ASCIIToUTF16("222"));
297 credit_cards().push_back(&credit_card); 195 credit_cards_.push_back(&credit_card);
298 196
299 LoadDialog(); 197 LoadDialog();
300 198
301 AutoFillCreditCardModel* cm = [[[controller_ creditCardFormViewControllers] 199 AutoFillCreditCardModel* cm = [[[controller_ creditCardFormViewControllers]
302 objectAtIndex:0] creditCardModel]; 200 objectAtIndex:0] creditCardModel];
303 EXPECT_TRUE([[cm label] isEqualToString:@"myCC"]); 201 EXPECT_TRUE([[cm label] isEqualToString:@"myCC"]);
304 EXPECT_TRUE([[cm nameOnCard] isEqualToString:@"DCH"]); 202 EXPECT_TRUE([[cm nameOnCard] isEqualToString:@"DCH"]);
305 EXPECT_TRUE([[cm creditCardNumber] isEqualToString:@"1234 5678 9101 1121"]); 203 EXPECT_TRUE([[cm creditCardNumber] isEqualToString:@"1234 5678 9101 1121"]);
306 EXPECT_TRUE([[cm expirationMonth] isEqualToString:@"01"]); 204 EXPECT_TRUE([[cm expirationMonth] isEqualToString:@"01"]);
307 EXPECT_TRUE([[cm expirationYear] isEqualToString:@"2012"]); 205 EXPECT_TRUE([[cm expirationYear] isEqualToString:@"2012"]);
308 EXPECT_TRUE([[cm cvcCode] isEqualToString:@"222"]); 206 EXPECT_TRUE([[cm cvcCode] isEqualToString:@"222"]);
309 207
310 [controller_ save:nil]; 208 [controller_ save:nil];
311 209
312 ASSERT_TRUE(observer_.hit_); 210 ASSERT_TRUE(observer_.hit_);
313 ASSERT_TRUE(observer_.credit_cards_.size() == 1); 211 ASSERT_TRUE(observer_.credit_cards_.size() == 1);
314 212
315 credit_cards()[0]->set_unique_id(observer_.credit_cards_[0].unique_id()); 213 credit_cards_[0]->set_unique_id(observer_.credit_cards_[0].unique_id());
316 ASSERT_EQ(observer_.credit_cards_[0], *credit_cards()[0]); 214 ASSERT_EQ(observer_.credit_cards_[0], *credit_cards_[0]);
317 } 215 }
318 216
319 TEST_F(AutoFillDialogControllerTest, TwoProfiles) { 217 TEST_F(AutoFillDialogControllerTest, TwoProfiles) {
320 AutoFillProfile profile1(ASCIIToUTF16("One"), 1); 218 AutoFillProfile profile1(ASCIIToUTF16("One"), 1);
321 profile1.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe")); 219 profile1.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe"));
322 profiles().push_back(&profile1); 220 profiles_.push_back(&profile1);
323 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2); 221 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2);
324 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob")); 222 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob"));
325 profiles().push_back(&profile2); 223 profiles_.push_back(&profile2);
326 LoadDialog(); 224 LoadDialog();
327 [controller_ save:nil]; 225 [controller_ save:nil];
328 226
329 // Should hit our observer. 227 // Should hit our observer.
330 ASSERT_TRUE(observer_.hit_); 228 ASSERT_TRUE(observer_.hit_);
331 229
332 // Sizes should match. And should be 2. 230 // Sizes should match. And should be 2.
333 ASSERT_EQ(observer_.profiles_.size(), profiles().size()); 231 ASSERT_EQ(observer_.profiles_.size(), profiles_.size());
334 ASSERT_EQ(observer_.profiles_.size(), 2UL); 232 ASSERT_EQ(observer_.profiles_.size(), 2UL);
335 233
336 // Contents should match. With the exception of the |unique_id|. 234 // Contents should match. With the exception of the |unique_id|.
337 for (size_t i = 0, count = profiles().size(); i < count; i++) { 235 for (size_t i = 0, count = profiles_.size(); i < count; i++) {
338 profiles()[i]->set_unique_id(observer_.profiles_[i].unique_id()); 236 profiles_[i]->set_unique_id(observer_.profiles_[i].unique_id());
339 ASSERT_EQ(observer_.profiles_[i], *profiles()[i]); 237 ASSERT_EQ(observer_.profiles_[i], *profiles_[i]);
340 } 238 }
341 } 239 }
342 240
343 TEST_F(AutoFillDialogControllerTest, TwoCreditCards) { 241 TEST_F(AutoFillDialogControllerTest, TwoCreditCards) {
344 CreditCard credit_card1(ASCIIToUTF16("Visa"), 1); 242 CreditCard credit_card1(ASCIIToUTF16("Visa"), 1);
345 credit_card1.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe")); 243 credit_card1.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe"));
346 credit_cards().push_back(&credit_card1); 244 credit_cards_.push_back(&credit_card1);
347 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2); 245 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2);
348 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob")); 246 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob"));
349 credit_cards().push_back(&credit_card2); 247 credit_cards_.push_back(&credit_card2);
350 LoadDialog(); 248 LoadDialog();
351 [controller_ save:nil]; 249 [controller_ save:nil];
352 250
353 // Should hit our observer. 251 // Should hit our observer.
354 ASSERT_TRUE(observer_.hit_); 252 ASSERT_TRUE(observer_.hit_);
355 253
356 // Sizes should match. And should be 2. 254 // Sizes should match. And should be 2.
357 ASSERT_EQ(observer_.credit_cards_.size(), credit_cards().size()); 255 ASSERT_EQ(observer_.credit_cards_.size(), credit_cards_.size());
358 ASSERT_EQ(observer_.credit_cards_.size(), 2UL); 256 ASSERT_EQ(observer_.credit_cards_.size(), 2UL);
359 257
360 // Contents should match. With the exception of the |unique_id|. 258 // Contents should match. With the exception of the |unique_id|.
361 for (size_t i = 0, count = credit_cards().size(); i < count; i++) { 259 for (size_t i = 0, count = credit_cards_.size(); i < count; i++) {
362 credit_cards()[i]->set_unique_id(observer_.credit_cards_[i].unique_id()); 260 credit_cards_[i]->set_unique_id(observer_.credit_cards_[i].unique_id());
363 ASSERT_EQ(observer_.credit_cards_[i], *credit_cards()[i]); 261 ASSERT_EQ(observer_.credit_cards_[i], *credit_cards_[i]);
364 } 262 }
365 } 263 }
366 264
367 TEST_F(AutoFillDialogControllerTest, AddNewProfile) { 265 TEST_F(AutoFillDialogControllerTest, AddNewProfile) {
368 AutoFillProfile profile(ASCIIToUTF16("One"), 1); 266 AutoFillProfile profile(ASCIIToUTF16("One"), 1);
369 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe")); 267 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe"));
370 profiles().push_back(&profile); 268 profiles_.push_back(&profile);
371 LoadDialog(); 269 LoadDialog();
372 [controller_ addNewAddress:nil]; 270 [controller_ addNewAddress:nil];
373 [controller_ save:nil]; 271 [controller_ save:nil];
374 272
375 // Should hit our observer. 273 // Should hit our observer.
376 ASSERT_TRUE(observer_.hit_); 274 ASSERT_TRUE(observer_.hit_);
377 275
378 // Sizes should match be different. New size should be 2. 276 // Sizes should match be different. New size should be 2.
379 ASSERT_NE(observer_.profiles_.size(), profiles().size()); 277 ASSERT_NE(observer_.profiles_.size(), profiles_.size());
380 ASSERT_EQ(observer_.profiles_.size(), 2UL); 278 ASSERT_EQ(observer_.profiles_.size(), 2UL);
381 279
382 // New address should match. 280 // New address should match.
383 AutoFillProfile new_profile(ASCIIToUTF16("New address"), 0); 281 AutoFillProfile new_profile(ASCIIToUTF16("New address"), 0);
384 ASSERT_EQ(observer_.profiles_[1], new_profile); 282 ASSERT_EQ(observer_.profiles_[1], new_profile);
385 } 283 }
386 284
387 TEST_F(AutoFillDialogControllerTest, AddNewCreditCard) { 285 TEST_F(AutoFillDialogControllerTest, AddNewCreditCard) {
388 CreditCard credit_card(ASCIIToUTF16("Visa"), 1); 286 CreditCard credit_card(ASCIIToUTF16("Visa"), 1);
389 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe")); 287 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe"));
390 credit_cards().push_back(&credit_card); 288 credit_cards_.push_back(&credit_card);
391 LoadDialog(); 289 LoadDialog();
392 [controller_ addNewCreditCard:nil]; 290 [controller_ addNewCreditCard:nil];
393 [controller_ save:nil]; 291 [controller_ save:nil];
394 292
395 // Should hit our observer. 293 // Should hit our observer.
396 ASSERT_TRUE(observer_.hit_); 294 ASSERT_TRUE(observer_.hit_);
397 295
398 // Sizes should match be different. New size should be 2. 296 // Sizes should match be different. New size should be 2.
399 ASSERT_NE(observer_.credit_cards_.size(), credit_cards().size()); 297 ASSERT_NE(observer_.credit_cards_.size(), credit_cards_.size());
400 ASSERT_EQ(observer_.credit_cards_.size(), 2UL); 298 ASSERT_EQ(observer_.credit_cards_.size(), 2UL);
401 299
402 // New address should match. 300 // New address should match.
403 CreditCard new_credit_card(ASCIIToUTF16("New credit card"), 0); 301 CreditCard new_credit_card(ASCIIToUTF16("New credit card"), 0);
404 ASSERT_EQ(observer_.credit_cards_[1], new_credit_card); 302 ASSERT_EQ(observer_.credit_cards_[1], new_credit_card);
405 } 303 }
406 304
407 TEST_F(AutoFillDialogControllerTest, DeleteProfile) { 305 TEST_F(AutoFillDialogControllerTest, DeleteProfile) {
408 AutoFillProfile profile(ASCIIToUTF16("One"), 1); 306 AutoFillProfile profile(ASCIIToUTF16("One"), 1);
409 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe")); 307 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe"));
410 profiles().push_back(&profile); 308 profiles_.push_back(&profile);
411 LoadDialog(); 309 LoadDialog();
412 EXPECT_EQ([[[controller_ addressFormViewControllers] lastObject] 310 EXPECT_EQ([[[controller_ addressFormViewControllers] lastObject]
413 retainCount], 1UL); 311 retainCount], 1UL);
414 [controller_ deleteAddress:[[controller_ addressFormViewControllers] 312 [controller_ deleteAddress:[[controller_ addressFormViewControllers]
415 lastObject]]; 313 lastObject]];
416 [controller_ save:nil]; 314 [controller_ save:nil];
417 315
418 // Should hit our observer. 316 // Should hit our observer.
419 ASSERT_TRUE(observer_.hit_); 317 ASSERT_TRUE(observer_.hit_);
420 318
421 // Sizes should match be different. New size should be 0. 319 // Sizes should match be different. New size should be 0.
422 ASSERT_NE(observer_.profiles_.size(), profiles().size()); 320 ASSERT_NE(observer_.profiles_.size(), profiles_.size());
423 ASSERT_EQ(observer_.profiles_.size(), 0UL); 321 ASSERT_EQ(observer_.profiles_.size(), 0UL);
424 } 322 }
425 323
426 TEST_F(AutoFillDialogControllerTest, DeleteCreditCard) { 324 TEST_F(AutoFillDialogControllerTest, DeleteCreditCard) {
427 CreditCard credit_card(ASCIIToUTF16("Visa"), 1); 325 CreditCard credit_card(ASCIIToUTF16("Visa"), 1);
428 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe")); 326 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe"));
429 credit_cards().push_back(&credit_card); 327 credit_cards_.push_back(&credit_card);
430 LoadDialog(); 328 LoadDialog();
431 EXPECT_EQ([[[controller_ creditCardFormViewControllers] lastObject] 329 EXPECT_EQ([[[controller_ creditCardFormViewControllers] lastObject]
432 retainCount], 1UL); 330 retainCount], 1UL);
433 [controller_ deleteCreditCard:[[controller_ creditCardFormViewControllers] 331 [controller_ deleteCreditCard:[[controller_ creditCardFormViewControllers]
434 lastObject]]; 332 lastObject]];
435 [controller_ save:nil]; 333 [controller_ save:nil];
436 334
437 // Should hit our observer. 335 // Should hit our observer.
438 ASSERT_TRUE(observer_.hit_); 336 ASSERT_TRUE(observer_.hit_);
439 337
440 // Sizes should match be different. New size should be 0. 338 // Sizes should match be different. New size should be 0.
441 ASSERT_NE(observer_.credit_cards_.size(), credit_cards().size()); 339 ASSERT_NE(observer_.credit_cards_.size(), credit_cards_.size());
442 ASSERT_EQ(observer_.credit_cards_.size(), 0UL); 340 ASSERT_EQ(observer_.credit_cards_.size(), 0UL);
443 } 341 }
444 342
445 TEST_F(AutoFillDialogControllerTest, TwoProfilesDeleteOne) { 343 TEST_F(AutoFillDialogControllerTest, TwoProfilesDeleteOne) {
446 AutoFillProfile profile(ASCIIToUTF16("One"), 1); 344 AutoFillProfile profile(ASCIIToUTF16("One"), 1);
447 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe")); 345 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe"));
448 profiles().push_back(&profile); 346 profiles_.push_back(&profile);
449 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2); 347 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2);
450 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob")); 348 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob"));
451 profiles().push_back(&profile2); 349 profiles_.push_back(&profile2);
452 LoadDialog(); 350 LoadDialog();
453 [controller_ deleteAddress:[[controller_ addressFormViewControllers] 351 [controller_ deleteAddress:[[controller_ addressFormViewControllers]
454 lastObject]]; 352 lastObject]];
455 [controller_ save:nil]; 353 [controller_ save:nil];
456 354
457 // Should hit our observer. 355 // Should hit our observer.
458 ASSERT_TRUE(observer_.hit_); 356 ASSERT_TRUE(observer_.hit_);
459 357
460 // Sizes should match be different. New size should be 0. 358 // Sizes should match be different. New size should be 0.
461 ASSERT_NE(observer_.profiles_.size(), profiles().size()); 359 ASSERT_NE(observer_.profiles_.size(), profiles_.size());
462 ASSERT_EQ(observer_.profiles_.size(), 1UL); 360 ASSERT_EQ(observer_.profiles_.size(), 1UL);
463 361
464 // First address should match. 362 // First address should match.
465 profiles()[0]->set_unique_id(observer_.profiles_[0].unique_id()); 363 profiles_[0]->set_unique_id(observer_.profiles_[0].unique_id());
466 ASSERT_EQ(observer_.profiles_[0], profile); 364 ASSERT_EQ(observer_.profiles_[0], profile);
467 } 365 }
468 366
469 TEST_F(AutoFillDialogControllerTest, TwoCreditCardsDeleteOne) { 367 TEST_F(AutoFillDialogControllerTest, TwoCreditCardsDeleteOne) {
470 CreditCard credit_card(ASCIIToUTF16("Visa"), 1); 368 CreditCard credit_card(ASCIIToUTF16("Visa"), 1);
471 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe")); 369 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe"));
472 credit_cards().push_back(&credit_card); 370 credit_cards_.push_back(&credit_card);
473 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2); 371 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2);
474 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob")); 372 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob"));
475 credit_cards().push_back(&credit_card2); 373 credit_cards_.push_back(&credit_card2);
476 LoadDialog(); 374 LoadDialog();
477 [controller_ deleteCreditCard:[[controller_ creditCardFormViewControllers] 375 [controller_ deleteCreditCard:[[controller_ creditCardFormViewControllers]
478 lastObject]]; 376 lastObject]];
479 [controller_ save:nil]; 377 [controller_ save:nil];
480 378
481 // Should hit our observer. 379 // Should hit our observer.
482 ASSERT_TRUE(observer_.hit_); 380 ASSERT_TRUE(observer_.hit_);
483 381
484 // Sizes should match be different. New size should be 0. 382 // Sizes should match be different. New size should be 0.
485 ASSERT_NE(observer_.credit_cards_.size(), credit_cards().size()); 383 ASSERT_NE(observer_.credit_cards_.size(), credit_cards_.size());
486 ASSERT_EQ(observer_.credit_cards_.size(), 1UL); 384 ASSERT_EQ(observer_.credit_cards_.size(), 1UL);
487 385
488 // First credit card should match. 386 // First credit card should match.
489 credit_cards()[0]->set_unique_id(observer_.credit_cards_[0].unique_id()); 387 credit_cards_[0]->set_unique_id(observer_.credit_cards_[0].unique_id());
490 ASSERT_EQ(observer_.credit_cards_[0], credit_card); 388 ASSERT_EQ(observer_.credit_cards_[0], credit_card);
491 } 389 }
492 390
493 TEST_F(AutoFillDialogControllerTest, AuxiliaryProfilesFalse) { 391 TEST_F(AutoFillDialogControllerTest, AuxiliaryProfilesFalse) {
494 LoadDialog(); 392 LoadDialog();
495 [controller_ save:nil]; 393 [controller_ save:nil];
496 394
497 // Should hit our observer. 395 // Should hit our observer.
498 ASSERT_TRUE(observer_.hit_); 396 ASSERT_TRUE(observer_.hit_);
499 397
(...skipping 28 matching lines...) Expand all
528 426
529 // Auxiliary profiles setting should be unchanged. 427 // Auxiliary profiles setting should be unchanged.
530 ASSERT_TRUE(helper_.profile()->GetPrefs()->GetBoolean( 428 ASSERT_TRUE(helper_.profile()->GetPrefs()->GetBoolean(
531 prefs::kAutoFillAuxiliaryProfilesEnabled)); 429 prefs::kAutoFillAuxiliaryProfilesEnabled));
532 } 430 }
533 431
534 TEST_F(AutoFillDialogControllerTest, DefaultsChangingLogic) { 432 TEST_F(AutoFillDialogControllerTest, DefaultsChangingLogic) {
535 // Two profiles, two credit cards. 433 // Two profiles, two credit cards.
536 AutoFillProfile profile(ASCIIToUTF16("One"), 1); 434 AutoFillProfile profile(ASCIIToUTF16("One"), 1);
537 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe")); 435 profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joe"));
538 profiles().push_back(&profile); 436 profiles_.push_back(&profile);
539 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2); 437 AutoFillProfile profile2(ASCIIToUTF16("Two"), 2);
540 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob")); 438 profile2.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Bob"));
541 profiles().push_back(&profile2); 439 profiles_.push_back(&profile2);
542 CreditCard credit_card(ASCIIToUTF16("Visa"), 1); 440 CreditCard credit_card(ASCIIToUTF16("Visa"), 1);
543 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe")); 441 credit_card.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Joe"));
544 credit_cards().push_back(&credit_card); 442 credit_cards_.push_back(&credit_card);
545 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2); 443 CreditCard credit_card2(ASCIIToUTF16("Mastercard"), 2);
546 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob")); 444 credit_card2.SetInfo(AutoFillType(CREDIT_CARD_NAME), ASCIIToUTF16("Bob"));
547 credit_cards().push_back(&credit_card2); 445 credit_cards_.push_back(&credit_card2);
548 446
549 // Invalid defaults for each. 447 // Invalid defaults for each.
550 helper_.profile()->GetPrefs()->SetString( 448 helper_.profile()->GetPrefs()->SetString(
551 prefs::kAutoFillDefaultProfile, L"xxxx"); 449 prefs::kAutoFillDefaultProfile, L"xxxx");
552 helper_.profile()->GetPrefs()->SetString( 450 helper_.profile()->GetPrefs()->SetString(
553 prefs::kAutoFillDefaultCreditCard, L"yyyy"); 451 prefs::kAutoFillDefaultCreditCard, L"yyyy");
554 452
555 // Start 'em up. 453 // Start 'em up.
556 LoadDialog(); 454 LoadDialog();
557 455
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 // Save and that should end up in the prefs. 488 // Save and that should end up in the prefs.
591 [controller_ save:nil]; 489 [controller_ save:nil];
592 ASSERT_TRUE(observer_.hit_); 490 ASSERT_TRUE(observer_.hit_);
593 491
594 ASSERT_EQ(L"One", helper_.profile()->GetPrefs()-> 492 ASSERT_EQ(L"One", helper_.profile()->GetPrefs()->
595 GetString(prefs::kAutoFillDefaultProfile)); 493 GetString(prefs::kAutoFillDefaultProfile));
596 ASSERT_EQ(L"Visa", helper_.profile()->GetPrefs()-> 494 ASSERT_EQ(L"Visa", helper_.profile()->GetPrefs()->
597 GetString(prefs::kAutoFillDefaultCreditCard)); 495 GetString(prefs::kAutoFillDefaultCreditCard));
598 } 496 }
599 497
600 TEST_F(AutoFillDialogControllerTest, WaitForDataToLoad) {
601 AutoFillProfile profile(ASCIIToUTF16("Home"), 0);
602 profiles().push_back(&profile);
603 CreditCard credit_card(ASCIIToUTF16("Visa"), 0);
604 credit_cards().push_back(&credit_card);
605 helper_.test_profile_->test_manager_->test_data_is_loaded_ = false;
606 LoadDialog();
607 [controller_ save:nil];
608
609 // Should hit our observer.
610 ASSERT_TRUE(observer_.hit_);
611
612 // Sizes should match.
613 ASSERT_EQ(observer_.profiles_.size(), profiles().size());
614 ASSERT_EQ(observer_.credit_cards_.size(), credit_cards().size());
615
616 // Contents should match.
617 size_t i = 0;
618 size_t count = profiles().size();
619 for (i = 0; i < count; i++)
620 ASSERT_EQ(observer_.profiles_[i], *profiles()[i]);
621 count = credit_cards().size();
622 for (i = 0; i < count; i++) {
623 ASSERT_EQ(observer_.credit_cards_[i], *credit_cards()[i]);
624 }
625 } 498 }
626
627 TEST_F(AutoFillDialogControllerTest, ImportedParameters) {
628 AutoFillProfile profile(ASCIIToUTF16("Home"), 0);
629 imported_profile_ = &profile;
630 CreditCard credit_card(ASCIIToUTF16("Mastercard"), 0);
631 imported_credit_card_ = &credit_card;
632
633 // Note: when the |imported_*| parameters are supplied the dialog should
634 // ignore any profile and credit card information in the
635 // |PersonalDataManager|.
636 AutoFillProfile profile_ignored(ASCIIToUTF16("Work"), 0);
637 profiles().push_back(&profile_ignored);
638 CreditCard credit_card_ignored(ASCIIToUTF16("Visa"), 0);
639 credit_cards().push_back(&credit_card_ignored);
640
641 LoadDialog();
642 [controller_ save:nil];
643
644 // Should hit our observer.
645 ASSERT_TRUE(observer_.hit_);
646
647 // Sizes should match.
648 ASSERT_EQ(1UL, observer_.profiles_.size());
649 ASSERT_EQ(1UL, observer_.credit_cards_.size());
650
651 // Contents should match.
652 ASSERT_EQ(observer_.profiles_[0], profile);
653 ASSERT_EQ(observer_.credit_cards_[0], credit_card);
654 }
655
656 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/autofill/autofill_dialog_controller_mac.mm ('k') | chrome/browser/autofill/autofill_dialog_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698