OLD | NEW |
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 <utility> | 5 #include <utility> |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 446 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
447 CreateFormManager()); | 447 CreateFormManager()); |
448 | 448 |
449 controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); | 449 controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); |
450 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState()); | 450 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState()); |
451 | 451 |
452 controller()->OnBubbleHidden(); | 452 controller()->OnBubbleHidden(); |
453 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); | 453 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
454 } | 454 } |
455 | 455 |
456 #if defined(OS_MACOSX) | |
457 // TODO(vasilii): remove once Mac supports the account chooser dialog. | |
458 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { | 456 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { |
459 ScopedVector<autofill::PasswordForm> local_credentials; | 457 ScopedVector<autofill::PasswordForm> local_credentials; |
460 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 458 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
461 ScopedVector<autofill::PasswordForm> federated_credentials; | |
462 GURL origin("http://example.com"); | |
463 EXPECT_TRUE(controller()->OnChooseCredentials( | |
464 std::move(local_credentials), std::move(federated_credentials), origin, | |
465 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | |
466 base::Unretained(this)))); | |
467 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, | |
468 controller()->GetState()); | |
469 EXPECT_EQ(origin, controller()->GetOrigin()); | |
470 EXPECT_THAT(controller()->GetCurrentForms(), | |
471 ElementsAre(Pointee(test_local_form()))); | |
472 | |
473 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); | |
474 | |
475 controller()->ManagePasswordsUIController::ChooseCredential( | |
476 test_local_form(), | |
477 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); | |
478 controller()->OnBubbleHidden(); | |
479 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); | |
480 ASSERT_TRUE(credential_info()); | |
481 EXPECT_EQ(test_local_form().username_value, credential_info()->id); | |
482 EXPECT_EQ(test_local_form().password_value, credential_info()->password); | |
483 EXPECT_TRUE(credential_info()->federation.is_empty()); | |
484 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD, | |
485 credential_info()->type); | |
486 } | |
487 | |
488 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) { | |
489 ScopedVector<autofill::PasswordForm> local_credentials; | |
490 local_credentials.push_back( | |
491 new autofill::PasswordForm(test_federated_form())); | |
492 ScopedVector<autofill::PasswordForm> federated_credentials; | |
493 GURL origin("http://example.com"); | |
494 EXPECT_TRUE(controller()->OnChooseCredentials( | |
495 std::move(local_credentials), std::move(federated_credentials), origin, | |
496 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | |
497 base::Unretained(this)))); | |
498 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, | |
499 controller()->GetState()); | |
500 EXPECT_EQ(origin, controller()->GetOrigin()); | |
501 EXPECT_THAT(controller()->GetCurrentForms(), | |
502 ElementsAre(Pointee(test_federated_form()))); | |
503 | |
504 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); | |
505 | |
506 controller()->ManagePasswordsUIController::ChooseCredential( | |
507 test_federated_form(), | |
508 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); | |
509 controller()->OnBubbleHidden(); | |
510 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); | |
511 ASSERT_TRUE(credential_info()); | |
512 EXPECT_EQ(test_federated_form().username_value, credential_info()->id); | |
513 EXPECT_EQ(test_federated_form().federation_url, | |
514 credential_info()->federation); | |
515 EXPECT_TRUE(credential_info()->password.empty()); | |
516 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, | |
517 credential_info()->type); | |
518 } | |
519 | |
520 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) { | |
521 ScopedVector<autofill::PasswordForm> local_credentials; | |
522 ScopedVector<autofill::PasswordForm> federated_credentials; | |
523 federated_credentials.push_back( | |
524 new autofill::PasswordForm(test_local_form())); | |
525 GURL origin("http://example.com"); | |
526 EXPECT_TRUE(controller()->OnChooseCredentials( | |
527 std::move(local_credentials), std::move(federated_credentials), origin, | |
528 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | |
529 base::Unretained(this)))); | |
530 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, | |
531 controller()->GetState()); | |
532 EXPECT_EQ(0u, controller()->GetCurrentForms().size()); | |
533 EXPECT_EQ(origin, controller()->GetOrigin()); | |
534 | |
535 ExpectIconStateIs(password_manager::ui::CREDENTIAL_REQUEST_STATE); | |
536 | |
537 controller()->ManagePasswordsUIController::ChooseCredential( | |
538 test_local_form(), | |
539 password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); | |
540 controller()->OnBubbleHidden(); | |
541 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); | |
542 ASSERT_TRUE(credential_info()); | |
543 EXPECT_EQ(test_local_form().username_value, credential_info()->id); | |
544 EXPECT_TRUE(credential_info()->password.empty()); | |
545 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, | |
546 credential_info()->type); | |
547 } | |
548 | |
549 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { | |
550 ScopedVector<autofill::PasswordForm> local_credentials; | |
551 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | |
552 ScopedVector<autofill::PasswordForm> federated_credentials; | |
553 GURL origin("http://example.com"); | |
554 EXPECT_TRUE(controller()->OnChooseCredentials( | |
555 std::move(local_credentials), std::move(federated_credentials), origin, | |
556 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | |
557 base::Unretained(this)))); | |
558 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, | |
559 controller()->GetState()); | |
560 EXPECT_EQ(origin, controller()->GetOrigin()); | |
561 controller()->ManagePasswordsUIController::ChooseCredential( | |
562 test_local_form(), | |
563 password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); | |
564 controller()->OnBubbleHidden(); | |
565 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); | |
566 ASSERT_TRUE(credential_info()); | |
567 EXPECT_TRUE(credential_info()->federation.is_empty()); | |
568 EXPECT_TRUE(credential_info()->password.empty()); | |
569 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | |
570 credential_info()->type); | |
571 } | |
572 #else // defined(OS_MACOSX) | |
573 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { | |
574 ScopedVector<autofill::PasswordForm> local_credentials; | |
575 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | |
576 ScopedVector<autofill::PasswordForm> federated_credentials; | 459 ScopedVector<autofill::PasswordForm> federated_credentials; |
577 GURL origin("http://example.com"); | 460 GURL origin("http://example.com"); |
578 PasswordDialogController* dialog_controller = nullptr; | 461 PasswordDialogController* dialog_controller = nullptr; |
579 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( | 462 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( |
580 DoAll(SaveArg<0>(&dialog_controller), Return(&account_chooser()))); | 463 DoAll(SaveArg<0>(&dialog_controller), Return(&account_chooser()))); |
581 EXPECT_CALL(account_chooser(), Show()); | 464 EXPECT_CALL(account_chooser(), Show()); |
582 EXPECT_TRUE(controller()->OnChooseCredentials( | 465 EXPECT_TRUE(controller()->OnChooseCredentials( |
583 std::move(local_credentials), std::move(federated_credentials), origin, | 466 std::move(local_credentials), std::move(federated_credentials), origin, |
584 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 467 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
585 base::Unretained(this)))); | 468 base::Unretained(this)))); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
693 | 576 |
694 EXPECT_CALL(account_chooser(), ControllerGone()).Times(0); | 577 EXPECT_CALL(account_chooser(), ControllerGone()).Times(0); |
695 dialog_controller->OnCloseAccountChooser(); | 578 dialog_controller->OnCloseAccountChooser(); |
696 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); | 579 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); |
697 ASSERT_TRUE(credential_info()); | 580 ASSERT_TRUE(credential_info()); |
698 EXPECT_TRUE(credential_info()->federation.is_empty()); | 581 EXPECT_TRUE(credential_info()->federation.is_empty()); |
699 EXPECT_TRUE(credential_info()->password.empty()); | 582 EXPECT_TRUE(credential_info()->password.empty()); |
700 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 583 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
701 credential_info()->type); | 584 credential_info()->type); |
702 } | 585 } |
703 #endif // defined(OS_MACOSX) | |
704 | 586 |
705 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { | 587 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { |
706 ScopedVector<autofill::PasswordForm> local_credentials; | 588 ScopedVector<autofill::PasswordForm> local_credentials; |
707 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 589 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
708 controller()->OnAutoSignin(std::move(local_credentials)); | 590 controller()->OnAutoSignin(std::move(local_credentials)); |
709 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); | 591 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); |
710 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin()); | 592 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin()); |
711 ASSERT_FALSE(controller()->GetCurrentForms().empty()); | 593 ASSERT_FALSE(controller()->GetCurrentForms().empty()); |
712 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]); | 594 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]); |
713 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE); | 595 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 CreateFormManager()); | 652 CreateFormManager()); |
771 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); | 653 controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager)); |
772 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, | 654 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
773 controller()->GetState()); | 655 controller()->GetState()); |
774 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), | 656 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), |
775 content::FrameNavigateParams()); | 657 content::FrameNavigateParams()); |
776 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); | 658 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState()); |
777 // The following line shouldn't crash browser. | 659 // The following line shouldn't crash browser. |
778 controller()->OnNoInteractionOnUpdate(); | 660 controller()->OnNoInteractionOnUpdate(); |
779 } | 661 } |
OLD | NEW |