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

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

Issue 2253233005: Change ScopedVector to vector<unique_ptr> in the password's UI code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: android+ Created 4 years, 4 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
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 <memory> 5 #include <memory>
6 #include <utility> 6 #include <utility>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 map.insert(std::make_pair(kTestUsername, std::move(test_form))); 302 map.insert(std::make_pair(kTestUsername, std::move(test_form)));
303 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 303 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
304 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 304 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
305 305
306 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 306 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
307 EXPECT_EQ(test_form_ptr->origin, controller()->GetOrigin()); 307 EXPECT_EQ(test_form_ptr->origin, controller()->GetOrigin());
308 ASSERT_EQ(1u, controller()->GetCurrentForms().size()); 308 ASSERT_EQ(1u, controller()->GetCurrentForms().size());
309 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value); 309 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value);
310 310
311 // Controller should store a separate copy of the form as it doesn't own it. 311 // Controller should store a separate copy of the form as it doesn't own it.
312 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]); 312 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0].get());
313 313
314 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 314 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
315 } 315 }
316 316
317 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { 317 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) {
318 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( 318 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
319 CreateFormManager()); 319 CreateFormManager());
320 test_form_manager->ProvisionallySave( 320 test_form_manager->ProvisionallySave(
321 test_local_form(), 321 test_local_form(),
322 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 322 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 511 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
512 controller()->OnAutomaticPasswordSave(std::move(test_form_manager)); 512 controller()->OnAutomaticPasswordSave(std::move(test_form_manager));
513 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState()); 513 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState());
514 514
515 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 515 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
516 controller()->OnBubbleHidden(); 516 controller()->OnBubbleHidden();
517 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); 517 ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
518 } 518 }
519 519
520 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { 520 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
521 ScopedVector<autofill::PasswordForm> local_credentials; 521 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
522 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 522 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
523 ScopedVector<autofill::PasswordForm> federated_credentials; 523 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
524 GURL origin("http://example.com"); 524 GURL origin("http://example.com");
525 PasswordDialogController* dialog_controller = nullptr; 525 PasswordDialogController* dialog_controller = nullptr;
526 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( 526 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
527 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); 527 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
528 EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); 528 EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
529 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 529 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
530 EXPECT_TRUE(controller()->OnChooseCredentials( 530 EXPECT_TRUE(controller()->OnChooseCredentials(
531 std::move(local_credentials), std::move(federated_credentials), origin, 531 std::move(local_credentials), std::move(federated_credentials), origin,
532 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 532 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
533 base::Unretained(this)))); 533 base::Unretained(this))));
(...skipping 10 matching lines...) Expand all
544 EXPECT_CALL(dialog_prompt(), ControllerGone()); 544 EXPECT_CALL(dialog_prompt(), ControllerGone());
545 EXPECT_CALL(*this, CredentialCallback(Pointee(test_local_form()))); 545 EXPECT_CALL(*this, CredentialCallback(Pointee(test_local_form())));
546 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 546 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
547 dialog_controller->OnChooseCredentials( 547 dialog_controller->OnChooseCredentials(
548 *dialog_controller->GetLocalForms()[0], 548 *dialog_controller->GetLocalForms()[0],
549 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); 549 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
550 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 550 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
551 } 551 }
552 552
553 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) { 553 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) {
554 ScopedVector<autofill::PasswordForm> local_credentials; 554 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
555 local_credentials.push_back( 555 local_credentials.emplace_back(
556 new autofill::PasswordForm(test_federated_form())); 556 new autofill::PasswordForm(test_federated_form()));
557 ScopedVector<autofill::PasswordForm> federated_credentials; 557 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
558 GURL origin("http://example.com"); 558 GURL origin("http://example.com");
559 PasswordDialogController* dialog_controller = nullptr; 559 PasswordDialogController* dialog_controller = nullptr;
560 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( 560 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
561 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); 561 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
562 EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); 562 EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
563 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 563 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
564 EXPECT_TRUE(controller()->OnChooseCredentials( 564 EXPECT_TRUE(controller()->OnChooseCredentials(
565 std::move(local_credentials), std::move(federated_credentials), origin, 565 std::move(local_credentials), std::move(federated_credentials), origin,
566 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 566 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
567 base::Unretained(this)))); 567 base::Unretained(this))));
(...skipping 10 matching lines...) Expand all
578 EXPECT_CALL(dialog_prompt(), ControllerGone()); 578 EXPECT_CALL(dialog_prompt(), ControllerGone());
579 EXPECT_CALL(*this, CredentialCallback(Pointee(test_federated_form()))); 579 EXPECT_CALL(*this, CredentialCallback(Pointee(test_federated_form())));
580 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 580 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
581 dialog_controller->OnChooseCredentials( 581 dialog_controller->OnChooseCredentials(
582 *dialog_controller->GetLocalForms()[0], 582 *dialog_controller->GetLocalForms()[0],
583 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); 583 password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
584 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 584 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
585 } 585 }
586 586
587 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { 587 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
588 ScopedVector<autofill::PasswordForm> local_credentials; 588 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
589 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 589 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
590 ScopedVector<autofill::PasswordForm> federated_credentials; 590 std::vector<std::unique_ptr<autofill::PasswordForm>> federated_credentials;
591 GURL origin("http://example.com"); 591 GURL origin("http://example.com");
592 PasswordDialogController* dialog_controller = nullptr; 592 PasswordDialogController* dialog_controller = nullptr;
593 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce( 593 EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
594 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt()))); 594 DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
595 EXPECT_CALL(dialog_prompt(), ShowAccountChooser()); 595 EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
596 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 596 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
597 EXPECT_TRUE(controller()->OnChooseCredentials( 597 EXPECT_TRUE(controller()->OnChooseCredentials(
598 std::move(local_credentials), std::move(federated_credentials), origin, 598 std::move(local_credentials), std::move(federated_credentials), origin,
599 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 599 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
600 base::Unretained(this)))); 600 base::Unretained(this))));
601 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, 601 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE,
602 controller()->GetState()); 602 controller()->GetState());
603 EXPECT_EQ(origin, controller()->GetOrigin()); 603 EXPECT_EQ(origin, controller()->GetOrigin());
604 604
605 EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0); 605 EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0);
606 EXPECT_CALL(*this, CredentialCallback(nullptr)); 606 EXPECT_CALL(*this, CredentialCallback(nullptr));
607 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 607 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
608 dialog_controller->OnCloseDialog(); 608 dialog_controller->OnCloseDialog();
609 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState()); 609 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
610 } 610 }
611 611
612 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) { 612 TEST_F(ManagePasswordsUIControllerTest, AutoSignin) {
613 ScopedVector<autofill::PasswordForm> local_credentials; 613 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
614 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 614 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
615 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 615 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
616 controller()->OnAutoSignin(std::move(local_credentials), 616 controller()->OnAutoSignin(std::move(local_credentials),
617 test_local_form().origin); 617 test_local_form().origin);
618 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); 618 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState());
619 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin()); 619 EXPECT_EQ(test_local_form().origin, controller()->GetOrigin());
620 ASSERT_FALSE(controller()->GetCurrentForms().empty()); 620 ASSERT_FALSE(controller()->GetCurrentForms().empty());
621 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]); 621 EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]);
622 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE); 622 ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
623 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 623 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
624 controller()->OnBubbleHidden(); 624 controller()->OnBubbleHidden();
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
671 EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0); 671 EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0);
672 content::FrameNavigateParams params; 672 content::FrameNavigateParams params;
673 params.transition = ui::PAGE_TRANSITION_LINK; 673 params.transition = ui::PAGE_TRANSITION_LINK;
674 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 674 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
675 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), params); 675 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), params);
676 ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt())); 676 ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt()));
677 EXPECT_CALL(dialog_prompt(), ControllerGone()); 677 EXPECT_CALL(dialog_prompt(), ControllerGone());
678 } 678 }
679 679
680 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { 680 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) {
681 ScopedVector<autofill::PasswordForm> local_credentials; 681 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
682 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 682 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
683 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 683 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
684 controller()->OnAutoSignin(std::move(local_credentials), 684 controller()->OnAutoSignin(std::move(local_credentials),
685 test_local_form().origin); 685 test_local_form().origin);
686 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); 686 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
687 std::unique_ptr<autofill::PasswordForm> test_form( 687 std::unique_ptr<autofill::PasswordForm> test_form(
688 new autofill::PasswordForm(test_local_form())); 688 new autofill::PasswordForm(test_local_form()));
689 autofill::PasswordFormMap map; 689 autofill::PasswordFormMap map;
690 base::string16 kTestUsername = test_form->username_value; 690 base::string16 kTestUsername = test_form->username_value;
691 map.insert(std::make_pair(kTestUsername, std::move(test_form))); 691 map.insert(std::make_pair(kTestUsername, std::move(test_form)));
692 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr); 692 controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 TestNotChangingStateOnAutofill( 741 TestNotChangingStateOnAutofill(
742 password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); 742 password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
743 } 743 }
744 744
745 TEST_F(ManagePasswordsUIControllerTest, ConfirmationStatePasswordAutofilled) { 745 TEST_F(ManagePasswordsUIControllerTest, ConfirmationStatePasswordAutofilled) {
746 TestNotChangingStateOnAutofill(password_manager::ui::CONFIRMATION_STATE); 746 TestNotChangingStateOnAutofill(password_manager::ui::CONFIRMATION_STATE);
747 } 747 }
748 748
749 TEST_F(ManagePasswordsUIControllerTest, OpenBubbleTwice) { 749 TEST_F(ManagePasswordsUIControllerTest, OpenBubbleTwice) {
750 // Open the autosignin bubble. 750 // Open the autosignin bubble.
751 ScopedVector<autofill::PasswordForm> local_credentials; 751 std::vector<std::unique_ptr<autofill::PasswordForm>> local_credentials;
752 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 752 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
753 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 753 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
754 controller()->OnAutoSignin(std::move(local_credentials), 754 controller()->OnAutoSignin(std::move(local_credentials),
755 test_local_form().origin); 755 test_local_form().origin);
756 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); 756 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState());
757 // The delegate used by the bubble for communicating with the controller. 757 // The delegate used by the bubble for communicating with the controller.
758 base::WeakPtr<PasswordsModelDelegate> proxy_delegate = 758 base::WeakPtr<PasswordsModelDelegate> proxy_delegate =
759 controller()->GetModelDelegateProxy(); 759 controller()->GetModelDelegateProxy();
760 760
761 // Open the bubble again. 761 // Open the bubble again.
762 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); 762 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form()));
763 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); 763 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
764 controller()->OnAutoSignin(std::move(local_credentials), 764 controller()->OnAutoSignin(std::move(local_credentials),
765 test_local_form().origin); 765 test_local_form().origin);
766 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); 766 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState());
767 // Check the delegate is destroyed. Thus, the first bubble has no way to mess 767 // Check the delegate is destroyed. Thus, the first bubble has no way to mess
768 // up with the controller's state. 768 // up with the controller's state.
769 EXPECT_FALSE(proxy_delegate); 769 EXPECT_FALSE(proxy_delegate);
770 } 770 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698