| 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 |