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 <map> | 5 #include <map> |
6 #include <memory> | 6 #include <memory> |
7 #include <utility> | 7 #include <utility> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
798 // Open the bubble again. | 798 // Open the bubble again. |
799 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form())); | 799 local_credentials.emplace_back(new autofill::PasswordForm(test_local_form())); |
800 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | 800 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
801 controller()->OnAutoSignin(std::move(local_credentials), | 801 controller()->OnAutoSignin(std::move(local_credentials), |
802 test_local_form().origin); | 802 test_local_form().origin); |
803 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); | 803 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState()); |
804 // Check the delegate is destroyed. Thus, the first bubble has no way to mess | 804 // Check the delegate is destroyed. Thus, the first bubble has no way to mess |
805 // up with the controller's state. | 805 // up with the controller's state. |
806 EXPECT_FALSE(proxy_delegate); | 806 EXPECT_FALSE(proxy_delegate); |
807 } | 807 } |
808 | |
809 TEST_F(ManagePasswordsUIControllerTest, ManualFallbackForSaving_UseFallback) { | |
810 for (bool is_update : {false, true}) { | |
811 SCOPED_TRACE(testing::Message("is_update = ") << is_update); | |
812 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( | |
813 CreateFormManager()); | |
814 test_form_manager->ProvisionallySave( | |
815 test_local_form(), | |
816 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | |
817 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
818 controller()->OnShowManualFallbackForSaving(std::move(test_form_manager), | |
819 is_update); | |
820 ExpectIconAndControllerStateIs( | |
821 is_update ? password_manager::ui::PENDING_PASSWORD_UPDATE_STATE | |
822 : password_manager::ui::PENDING_PASSWORD_STATE); | |
823 EXPECT_FALSE(controller()->opened_bubble()); | |
824 | |
825 // A user clicks on omnibox icon, opens the bubble and press Save/Update. | |
826 if (is_update) { | |
827 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
828 controller()->UpdatePassword(autofill::PasswordForm()); | |
829 } else { | |
830 controller()->SavePassword(test_local_form().username_value); | |
831 } | |
832 ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE); | |
833 } | |
vasilii
2017/07/25 11:17:47
How about clearing the expectations on controller(
kolos1
2017/07/26 13:40:57
Done.
| |
834 } | |
835 | |
836 TEST_F(ManagePasswordsUIControllerTest, ManualFallbackForSaving_HideFallback) { | |
837 for (bool is_update : {false, true}) { | |
838 SCOPED_TRACE(testing::Message("is_update = ") << is_update); | |
839 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( | |
840 CreateFormManager()); | |
841 test_form_manager->ProvisionallySave( | |
842 test_local_form(), | |
843 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | |
844 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
845 controller()->OnShowManualFallbackForSaving(std::move(test_form_manager), | |
846 is_update); | |
847 ExpectIconAndControllerStateIs( | |
848 is_update ? password_manager::ui::PENDING_PASSWORD_UPDATE_STATE | |
849 : password_manager::ui::PENDING_PASSWORD_STATE); | |
850 EXPECT_FALSE(controller()->opened_bubble()); | |
851 | |
852 // A user clears the password field. It hides the fallback. | |
853 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
854 controller()->OnHideManualFallbackForSaving(); | |
855 ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE); | |
856 } | |
857 } | |
858 | |
859 TEST_F(ManagePasswordsUIControllerTest, | |
860 ManualFallbackForSaving_GeneratedPassword) { | |
861 for (bool user_closed_bubble : {false, true}) { | |
862 SCOPED_TRACE(testing::Message("user_closed_bubble = ") | |
863 << user_closed_bubble); | |
864 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( | |
865 CreateFormManager()); | |
866 test_form_manager->ProvisionallySave( | |
867 test_local_form(), | |
868 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | |
869 test_form_manager->SetHasGeneratedPassword(true); | |
870 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
871 controller()->OnShowManualFallbackForSaving(std::move(test_form_manager), | |
872 false); | |
873 ExpectIconAndControllerStateIs(password_manager::ui::CONFIRMATION_STATE); | |
874 EXPECT_FALSE(controller()->opened_bubble()); | |
875 | |
876 EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); | |
877 if (user_closed_bubble) { | |
878 // A user opens the confirmation bubble and presses OK. | |
879 controller()->OnBubbleHidden(); | |
880 } else { | |
881 // The user removes the generated password. It hides the fallback. | |
882 controller()->OnHideManualFallbackForSaving(); | |
883 } | |
884 ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE); | |
885 } | |
886 } | |
OLD | NEW |