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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 1445383003: Introduce PasswordsModelDelegate as an abstraction between ManagePasswordsBubbleModel and ManagePas… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Mac Created 5 years, 1 month 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/prefs/pref_service.h" 6 #include "base/prefs/pref_service.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 OnBubbleShown(); 104 OnBubbleShown();
105 } 105 }
106 106
107 void TestManagePasswordsUIController:: 107 void TestManagePasswordsUIController::
108 UpdateAndroidAccountChooserInfoBarVisibility() { 108 UpdateAndroidAccountChooserInfoBarVisibility() {
109 OnBubbleShown(); 109 OnBubbleShown();
110 } 110 }
111 111
112 void TestManagePasswordsUIController::NeverSavePasswordInternal() { 112 void TestManagePasswordsUIController::NeverSavePasswordInternal() {
113 autofill::PasswordForm blacklisted; 113 autofill::PasswordForm blacklisted;
114 blacklisted.origin = this->origin(); 114 blacklisted.origin = this->GetOrigin();
115 blacklisted.signon_realm = blacklisted.origin.spec(); 115 blacklisted.signon_realm = blacklisted.origin.spec();
116 blacklisted.blacklisted_by_user = true; 116 blacklisted.blacklisted_by_user = true;
117 password_manager::PasswordStoreChange change( 117 password_manager::PasswordStoreChange change(
118 password_manager::PasswordStoreChange::ADD, blacklisted); 118 password_manager::PasswordStoreChange::ADD, blacklisted);
119 password_manager::PasswordStoreChangeList list(1, change); 119 password_manager::PasswordStoreChangeList list(1, change);
120 OnLoginsChanged(list); 120 OnLoginsChanged(list);
121 } 121 }
122 122
123 // TODO(crbug.com/554886) Centralise mock clients. 123 // TODO(crbug.com/554886) Centralise mock clients.
124 class MockPasswordManagerClient 124 class MockPasswordManagerClient
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 // No op on Android, where there is no icon. 162 // No op on Android, where there is no icon.
163 #if !defined(OS_ANDROID) 163 #if !defined(OS_ANDROID)
164 TestManagePasswordsIconView view; 164 TestManagePasswordsIconView view;
165 controller()->UpdateIconAndBubbleState(&view); 165 controller()->UpdateIconAndBubbleState(&view);
166 EXPECT_EQ(state, view.state()); 166 EXPECT_EQ(state, view.state());
167 #endif 167 #endif
168 } 168 }
169 169
170 void ExpectIconAndControllerStateIs(password_manager::ui::State state) { 170 void ExpectIconAndControllerStateIs(password_manager::ui::State state) {
171 ExpectIconStateIs(state); 171 ExpectIconStateIs(state);
172 EXPECT_EQ(state, controller()->state()); 172 EXPECT_EQ(state, controller()->GetState());
173 } 173 }
174 174
175 autofill::PasswordForm& test_local_form() { return test_local_form_; } 175 autofill::PasswordForm& test_local_form() { return test_local_form_; }
176 autofill::PasswordForm& test_federated_form() { return test_federated_form_; } 176 autofill::PasswordForm& test_federated_form() { return test_federated_form_; }
177 password_manager::CredentialInfo* credential_info() const { 177 password_manager::CredentialInfo* credential_info() const {
178 return credential_info_.get(); 178 return credential_info_.get();
179 } 179 }
180 180
181 TestManagePasswordsUIController* controller() { 181 TestManagePasswordsUIController* controller() {
182 return static_cast<TestManagePasswordsUIController*>( 182 return static_cast<TestManagePasswordsUIController*>(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 219
220 scoped_ptr<password_manager::PasswordFormManager> 220 scoped_ptr<password_manager::PasswordFormManager>
221 ManagePasswordsUIControllerTest::CreateFormManager() { 221 ManagePasswordsUIControllerTest::CreateFormManager() {
222 ScopedVector<autofill::PasswordForm> stored_forms; 222 ScopedVector<autofill::PasswordForm> stored_forms;
223 stored_forms.push_back(new autofill::PasswordForm(test_local_form())); 223 stored_forms.push_back(new autofill::PasswordForm(test_local_form()));
224 return CreateFormManagerWithBestMatches(test_local_form(), 224 return CreateFormManagerWithBestMatches(test_local_form(),
225 stored_forms.Pass()); 225 stored_forms.Pass());
226 } 226 }
227 227
228 TEST_F(ManagePasswordsUIControllerTest, DefaultState) { 228 TEST_F(ManagePasswordsUIControllerTest, DefaultState) {
229 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 229 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
230 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); 230 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
231 EXPECT_EQ(GURL::EmptyGURL(), controller()->origin());
232 231
233 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); 232 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE);
234 } 233 }
235 234
236 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) { 235 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) {
237 scoped_ptr<autofill::PasswordForm> test_form( 236 scoped_ptr<autofill::PasswordForm> test_form(
238 new autofill::PasswordForm(test_local_form())); 237 new autofill::PasswordForm(test_local_form()));
239 autofill::PasswordForm* test_form_ptr = test_form.get(); 238 autofill::PasswordForm* test_form_ptr = test_form.get();
240 base::string16 kTestUsername = test_form->username_value; 239 base::string16 kTestUsername = test_form->username_value;
241 autofill::PasswordFormMap map; 240 autofill::PasswordFormMap map;
242 map.insert(kTestUsername, test_form.Pass()); 241 map.insert(kTestUsername, test_form.Pass());
243 controller()->OnPasswordAutofilled(map, map.begin()->second->origin); 242 controller()->OnPasswordAutofilled(map, map.begin()->second->origin);
244 243
245 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 244 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
246 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); 245 EXPECT_EQ(test_form_ptr->origin, controller()->GetOrigin());
247 EXPECT_EQ(test_form_ptr->origin, controller()->origin());
248 ASSERT_EQ(1u, controller()->GetCurrentForms().size()); 246 ASSERT_EQ(1u, controller()->GetCurrentForms().size());
249 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value); 247 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value);
250 248
251 // Controller should store a separate copy of the form as it doesn't own it. 249 // Controller should store a separate copy of the form as it doesn't own it.
252 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]); 250 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]);
253 251
254 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 252 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
255 } 253 }
256 254
257 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { 255 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) {
258 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 256 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
259 CreateFormManager()); 257 CreateFormManager());
260 controller()->OnPasswordSubmitted(test_form_manager.Pass()); 258 controller()->OnPasswordSubmitted(test_form_manager.Pass());
261 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 259 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
262 controller()->state()); 260 controller()->GetState());
263 EXPECT_TRUE(controller()->PasswordPendingUserDecision());
264 EXPECT_TRUE(controller()->opened_bubble()); 261 EXPECT_TRUE(controller()->opened_bubble());
265 262
266 // TODO(mkwst): This should be the value of test_local_form().origin, but 263 // TODO(mkwst): This should be the value of test_local_form().origin, but
267 // it's being masked by the stub implementation of 264 // it's being masked by the stub implementation of
268 // ManagePasswordsUIControllerMock::PendingCredentials. 265 // ManagePasswordsUIControllerMock::PendingCredentials.
269 EXPECT_EQ(GURL::EmptyGURL(), controller()->origin()); 266 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
270 267
271 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 268 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
272 } 269 }
273 270
274 TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) { 271 TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) {
275 autofill::PasswordForm blacklisted; 272 autofill::PasswordForm blacklisted;
276 blacklisted.origin = test_local_form().origin; 273 blacklisted.origin = test_local_form().origin;
277 blacklisted.signon_realm = blacklisted.origin.spec(); 274 blacklisted.signon_realm = blacklisted.origin.spec();
278 blacklisted.blacklisted_by_user = true; 275 blacklisted.blacklisted_by_user = true;
279 ScopedVector<autofill::PasswordForm> stored_forms; 276 ScopedVector<autofill::PasswordForm> stored_forms;
280 stored_forms.push_back(new autofill::PasswordForm(blacklisted)); 277 stored_forms.push_back(new autofill::PasswordForm(blacklisted));
281 scoped_ptr<password_manager::PasswordFormManager> test_form_manager = 278 scoped_ptr<password_manager::PasswordFormManager> test_form_manager =
282 CreateFormManagerWithBestMatches(test_local_form(), stored_forms.Pass()); 279 CreateFormManagerWithBestMatches(test_local_form(), stored_forms.Pass());
283 280
284 controller()->OnPasswordSubmitted(test_form_manager.Pass()); 281 controller()->OnPasswordSubmitted(test_form_manager.Pass());
285 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, 282 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
286 controller()->state()); 283 controller()->GetState());
287 EXPECT_TRUE(controller()->PasswordPendingUserDecision());
288 EXPECT_FALSE(controller()->opened_bubble()); 284 EXPECT_FALSE(controller()->opened_bubble());
289 285
290 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE); 286 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
291 } 287 }
292 288
293 TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) { 289 TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) {
294 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 290 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
295 CreateFormManager()); 291 CreateFormManager());
296 test_form_manager->ProvisionallySave( 292 test_form_manager->ProvisionallySave(
297 test_local_form(), 293 test_local_form(),
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 } 345 }
350 346
351 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) { 347 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) {
352 // Navigate to a non-webby URL, then see what happens! 348 // Navigate to a non-webby URL, then see what happens!
353 content::WebContentsTester::For(web_contents()) 349 content::WebContentsTester::For(web_contents())
354 ->NavigateAndCommit(GURL("chrome://sign-in")); 350 ->NavigateAndCommit(GURL("chrome://sign-in"));
355 351
356 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 352 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
357 CreateFormManager()); 353 CreateFormManager());
358 controller()->OnPasswordSubmitted(test_form_manager.Pass()); 354 controller()->OnPasswordSubmitted(test_form_manager.Pass());
359 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 355 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
360 EXPECT_FALSE(controller()->PasswordPendingUserDecision());
361 356
362 // TODO(mkwst): This should be the value of test_local_form().origin, but 357 // TODO(mkwst): This should be the value of test_local_form().origin, but
363 // it's being masked by the stub implementation of 358 // it's being masked by the stub implementation of
364 // ManagePasswordsUIControllerMock::PendingCredentials. 359 // ManagePasswordsUIControllerMock::PendingCredentials.
365 EXPECT_EQ(GURL::EmptyGURL(), controller()->origin()); 360 EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
366 361
367 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); 362 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE);
368 } 363 }
369 364
370 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { 365 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) {
371 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); 366 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
372 autofill::PasswordFormMap map; 367 autofill::PasswordFormMap map;
373 map.insert(kTestUsername, 368 map.insert(kTestUsername,
374 make_scoped_ptr(new autofill::PasswordForm(test_local_form()))); 369 make_scoped_ptr(new autofill::PasswordForm(test_local_form())));
375 controller()->OnPasswordAutofilled(map, map.begin()->second->origin); 370 controller()->OnPasswordAutofilled(map, map.begin()->second->origin);
376 371
377 test_local_form().blacklisted_by_user = true; 372 test_local_form().blacklisted_by_user = true;
378 password_manager::PasswordStoreChange change( 373 password_manager::PasswordStoreChange change(
379 password_manager::PasswordStoreChange::ADD, test_local_form()); 374 password_manager::PasswordStoreChange::ADD, test_local_form());
380 password_manager::PasswordStoreChangeList list(1, change); 375 password_manager::PasswordStoreChangeList list(1, change);
381 controller()->OnLoginsChanged(list); 376 controller()->OnLoginsChanged(list);
382 377
383 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 378 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
384 EXPECT_EQ(test_local_form().origin, controller()->origin()); 379 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin());
385 380
386 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 381 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
387 } 382 }
388 383
389 TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) { 384 TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) {
390 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 385 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
391 CreateFormManager()); 386 CreateFormManager());
392 387
393 controller()->OnAutomaticPasswordSave(test_form_manager.Pass()); 388 controller()->OnAutomaticPasswordSave(test_form_manager.Pass());
394 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->state()); 389 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState());
395 390
396 controller()->OnBubbleHidden(); 391 controller()->OnBubbleHidden();
397 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 392 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
398 } 393 }
399 394
400 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { 395 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
401 ScopedVector<autofill::PasswordForm> local_credentials; 396 ScopedVector<autofill::PasswordForm> local_credentials;
402 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 397 local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
403 ScopedVector<autofill::PasswordForm> federated_credentials; 398 ScopedVector<autofill::PasswordForm> federated_credentials;
404 GURL origin("http://example.com"); 399 GURL origin("http://example.com");
405 EXPECT_TRUE(controller()->OnChooseCredentials( 400 EXPECT_TRUE(controller()->OnChooseCredentials(
406 local_credentials.Pass(), federated_credentials.Pass(), origin, 401 local_credentials.Pass(), federated_credentials.Pass(), origin,
407 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 402 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
408 base::Unretained(this)))); 403 base::Unretained(this))));
409 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 404 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
410 controller()->state()); 405 controller()->GetState());
411 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); 406 EXPECT_EQ(origin, controller()->GetOrigin());
412 EXPECT_EQ(origin, controller()->origin());
413 EXPECT_THAT(controller()->GetCurrentForms(), 407 EXPECT_THAT(controller()->GetCurrentForms(),
414 ElementsAre(Pointee(test_local_form()))); 408 ElementsAre(Pointee(test_local_form())));
415 409
416 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); 410 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE);
417 411
418 controller()->ManagePasswordsUIController::ChooseCredential( 412 controller()->ManagePasswordsUIController::ChooseCredential(
419 test_local_form(), 413 test_local_form(),
420 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); 414 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
421 controller()->OnBubbleHidden(); 415 controller()->OnBubbleHidden();
422 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 416 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
423 ASSERT_TRUE(credential_info()); 417 ASSERT_TRUE(credential_info());
424 EXPECT_EQ(test_local_form().username_value, credential_info()->id); 418 EXPECT_EQ(test_local_form().username_value, credential_info()->id);
425 EXPECT_EQ(test_local_form().password_value, credential_info()->password); 419 EXPECT_EQ(test_local_form().password_value, credential_info()->password);
426 EXPECT_TRUE(credential_info()->federation.is_empty()); 420 EXPECT_TRUE(credential_info()->federation.is_empty());
427 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD, 421 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD,
428 credential_info()->type); 422 credential_info()->type);
429 } 423 }
430 424
431 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) { 425 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) {
432 ScopedVector<autofill::PasswordForm> local_credentials; 426 ScopedVector<autofill::PasswordForm> local_credentials;
433 local_credentials.push_back( 427 local_credentials.push_back(
434 new autofill::PasswordForm(test_federated_form())); 428 new autofill::PasswordForm(test_federated_form()));
435 ScopedVector<autofill::PasswordForm> federated_credentials; 429 ScopedVector<autofill::PasswordForm> federated_credentials;
436 GURL origin("http://example.com"); 430 GURL origin("http://example.com");
437 EXPECT_TRUE(controller()->OnChooseCredentials( 431 EXPECT_TRUE(controller()->OnChooseCredentials(
438 local_credentials.Pass(), federated_credentials.Pass(), origin, 432 local_credentials.Pass(), federated_credentials.Pass(), origin,
439 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 433 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
440 base::Unretained(this)))); 434 base::Unretained(this))));
441 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 435 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
442 controller()->state()); 436 controller()->GetState());
443 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); 437 EXPECT_EQ(origin, controller()->GetOrigin());
444 EXPECT_EQ(origin, controller()->origin());
445 EXPECT_THAT(controller()->GetCurrentForms(), 438 EXPECT_THAT(controller()->GetCurrentForms(),
446 ElementsAre(Pointee(test_federated_form()))); 439 ElementsAre(Pointee(test_federated_form())));
447 440
448 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); 441 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE);
449 442
450 controller()->ManagePasswordsUIController::ChooseCredential( 443 controller()->ManagePasswordsUIController::ChooseCredential(
451 test_federated_form(), 444 test_federated_form(),
452 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); 445 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
453 controller()->OnBubbleHidden(); 446 controller()->OnBubbleHidden();
454 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 447 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
455 ASSERT_TRUE(credential_info()); 448 ASSERT_TRUE(credential_info());
456 EXPECT_EQ(test_federated_form().username_value, credential_info()->id); 449 EXPECT_EQ(test_federated_form().username_value, credential_info()->id);
457 EXPECT_EQ(test_federated_form().federation_url, 450 EXPECT_EQ(test_federated_form().federation_url,
458 credential_info()->federation); 451 credential_info()->federation);
459 EXPECT_TRUE(credential_info()->password.empty()); 452 EXPECT_TRUE(credential_info()->password.empty());
460 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, 453 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED,
461 credential_info()->type); 454 credential_info()->type);
462 } 455 }
463 456
464 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) { 457 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) {
465 ScopedVector<autofill::PasswordForm> local_credentials; 458 ScopedVector<autofill::PasswordForm> local_credentials;
466 ScopedVector<autofill::PasswordForm> federated_credentials; 459 ScopedVector<autofill::PasswordForm> federated_credentials;
467 federated_credentials.push_back( 460 federated_credentials.push_back(
468 new autofill::PasswordForm(test_local_form())); 461 new autofill::PasswordForm(test_local_form()));
469 GURL origin("http://example.com"); 462 GURL origin("http://example.com");
470 EXPECT_TRUE(controller()->OnChooseCredentials( 463 EXPECT_TRUE(controller()->OnChooseCredentials(
471 local_credentials.Pass(), federated_credentials.Pass(), origin, 464 local_credentials.Pass(), federated_credentials.Pass(), origin,
472 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 465 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
473 base::Unretained(this)))); 466 base::Unretained(this))));
474 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 467 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
475 controller()->state()); 468 controller()->GetState());
476 EXPECT_FALSE(controller()->PasswordPendingUserDecision());
477 EXPECT_EQ(0u, controller()->GetCurrentForms().size()); 469 EXPECT_EQ(0u, controller()->GetCurrentForms().size());
478 EXPECT_EQ(origin, controller()->origin()); 470 EXPECT_EQ(origin, controller()->GetOrigin());
479 471
480 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); 472 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE);
481 473
482 controller()->ManagePasswordsUIController::ChooseCredential( 474 controller()->ManagePasswordsUIController::ChooseCredential(
483 test_local_form(), 475 test_local_form(),
484 password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); 476 password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED);
485 controller()->OnBubbleHidden(); 477 controller()->OnBubbleHidden();
486 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 478 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
487 ASSERT_TRUE(credential_info()); 479 ASSERT_TRUE(credential_info());
488 EXPECT_EQ(test_local_form().username_value, credential_info()->id); 480 EXPECT_EQ(test_local_form().username_value, credential_info()->id);
489 EXPECT_TRUE(credential_info()->password.empty()); 481 EXPECT_TRUE(credential_info()->password.empty());
490 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, 482 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED,
491 credential_info()->type); 483 credential_info()->type);
492 } 484 }
493 485
494 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { 486 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
495 ScopedVector<autofill::PasswordForm> local_credentials; 487 ScopedVector<autofill::PasswordForm> local_credentials;
496 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 488 local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
497 ScopedVector<autofill::PasswordForm> federated_credentials; 489 ScopedVector<autofill::PasswordForm> federated_credentials;
498 GURL origin("http://example.com"); 490 GURL origin("http://example.com");
499 EXPECT_TRUE(controller()->OnChooseCredentials( 491 EXPECT_TRUE(controller()->OnChooseCredentials(
500 local_credentials.Pass(), federated_credentials.Pass(), origin, 492 local_credentials.Pass(), federated_credentials.Pass(), origin,
501 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 493 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
502 base::Unretained(this)))); 494 base::Unretained(this))));
503 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 495 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
504 controller()->state()); 496 controller()->GetState());
505 EXPECT_EQ(origin, controller()->origin()); 497 EXPECT_EQ(origin, controller()->GetOrigin());
506 controller()->ManagePasswordsUIController::ChooseCredential( 498 controller()->ManagePasswordsUIController::ChooseCredential(
507 test_local_form(), 499 test_local_form(),
508 password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); 500 password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY);
509 controller()->OnBubbleHidden(); 501 controller()->OnBubbleHidden();
510 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); 502 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
511 ASSERT_TRUE(credential_info()); 503 ASSERT_TRUE(credential_info());
512 EXPECT_TRUE(credential_info()->federation.is_empty()); 504 EXPECT_TRUE(credential_info()->federation.is_empty());
513 EXPECT_TRUE(credential_info()->password.empty()); 505 EXPECT_TRUE(credential_info()->password.empty());
514 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, 506 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY,
515 credential_info()->type); 507 credential_info()->type);
516 } 508 }
517 509
518 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { 510 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) {
519 ScopedVector<autofill::PasswordForm> local_credentials; 511 ScopedVector<autofill::PasswordForm> local_credentials;
520 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 512 local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
521 controller()->OnAutoSignin(local_credentials.Pass()); 513 controller()->OnAutoSignin(local_credentials.Pass());
522 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->state()); 514 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState());
523 EXPECT_EQ(test_local_form().origin, controller()->origin()); 515 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin());
524 ASSERT_FALSE(controller()->GetCurrentForms().empty()); 516 ASSERT_FALSE(controller()->GetCurrentForms().empty());
525 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]); 517 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]);
526 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE); 518 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
527 controller()->OnBubbleHidden(); 519 controller()->OnBubbleHidden();
528 ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE); 520 ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE);
529 } 521 }
530 522
531 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { 523 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) {
532 ScopedVector<autofill::PasswordForm> local_credentials; 524 ScopedVector<autofill::PasswordForm> local_credentials;
533 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 525 local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
(...skipping 11 matching lines...) Expand all
545 537
546 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { 538 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) {
547 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); 539 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
548 autofill::PasswordFormMap map; 540 autofill::PasswordFormMap map;
549 scoped_ptr<autofill::PasswordForm> psl_matched_test_form( 541 scoped_ptr<autofill::PasswordForm> psl_matched_test_form(
550 new autofill::PasswordForm(test_local_form())); 542 new autofill::PasswordForm(test_local_form()));
551 psl_matched_test_form->is_public_suffix_match = true; 543 psl_matched_test_form->is_public_suffix_match = true;
552 map.insert(kTestUsername, psl_matched_test_form.Pass()); 544 map.insert(kTestUsername, psl_matched_test_form.Pass());
553 controller()->OnPasswordAutofilled(map, map.begin()->second->origin); 545 controller()->OnPasswordAutofilled(map, map.begin()->second->origin);
554 546
555 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 547 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
556 } 548 }
557 549
558 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) { 550 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) {
559 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 551 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
560 CreateFormManager()); 552 CreateFormManager());
561 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); 553 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass());
562 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, 554 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
563 controller()->state()); 555 controller()->GetState());
564 556
565 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 557 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
566 } 558 }
567 559
568 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) { 560 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) {
569 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 561 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
570 CreateFormManager()); 562 CreateFormManager());
571 test_form_manager->ProvisionallySave( 563 test_form_manager->ProvisionallySave(
572 test_local_form(), 564 test_local_form(),
573 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 565 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
574 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); 566 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass());
575 567
576 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 568 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
577 controller()->UpdatePassword(autofill::PasswordForm()); 569 controller()->UpdatePassword(autofill::PasswordForm());
578 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 570 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
579 } 571 }
580 572
581 TEST_F(ManagePasswordsUIControllerTest, NavigationWhenUpdateBubbleActive) { 573 TEST_F(ManagePasswordsUIControllerTest, NavigationWhenUpdateBubbleActive) {
582 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( 574 scoped_ptr<password_manager::PasswordFormManager> test_form_manager(
583 CreateFormManager()); 575 CreateFormManager());
584 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); 576 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass());
585 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, 577 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
586 controller()->state()); 578 controller()->GetState());
587 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset 579 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset
588 // if a navigation occurs after this limit. 580 // if a navigation occurs after this limit.
589 controller()->SetElapsed( 581 controller()->SetElapsed(
590 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS)); 582 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS));
591 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), 583 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(),
592 content::FrameNavigateParams()); 584 content::FrameNavigateParams());
593 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 585 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
594 // The following line shouldn't crash browser. 586 // The following line shouldn't crash browser.
595 controller()->OnNoInteractionOnUpdate(); 587 controller()->OnNoInteractionOnUpdate();
596 } 588 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698