Index: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
diff --git a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
index db036a0a60f249718544e612d8e68f3136c55a90..0d654674c14f19f49b56f7dcf6a2bd9756228aa9 100644 |
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc |
@@ -805,3 +805,71 @@ TEST_F(ManagePasswordsUIControllerTest, OpenBubbleTwice) { |
// up with the controller's state. |
EXPECT_FALSE(proxy_delegate); |
} |
+ |
+TEST_F(ManagePasswordsUIControllerTest, ManualFallbackForSaving_UseFallback) { |
+ for (bool is_update : {false, true}) { |
+ SCOPED_TRACE(testing::Message("is_update = ") << is_update); |
+ std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
+ CreateFormManager()); |
+ test_form_manager->ProvisionallySave( |
+ test_local_form(), |
+ password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
+ controller()->OnShowManualFallback(std::move(test_form_manager), is_update); |
vasilii
2017/07/21 12:48:19
You can also check opened_bubble()
kolos1
2017/07/24 15:33:30
Done.
|
+ ExpectIconStateIs(is_update |
vasilii
2017/07/21 12:48:20
Why not ExpectIconAndControllerStateIs?
kolos1
2017/07/24 15:33:30
Done.
|
+ ? password_manager::ui::PENDING_PASSWORD_UPDATE_STATE |
+ : password_manager::ui::PENDING_PASSWORD_STATE); |
+ |
+ if (is_update) { |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
vasilii
2017/07/21 12:48:19
Why do we expect it only here?
kolos1
2017/07/24 15:33:30
It is strange to me too. UpdatePassword calls Upda
vasilii
2017/07/25 11:17:46
Ahh, that's my own trick. The function still shoul
kolos1
2017/07/26 13:40:57
Acknowledged.
|
+ controller()->UpdatePassword(autofill::PasswordForm()); |
+ } else { |
+ controller()->SavePassword(test_local_form().username_value); |
+ } |
+ ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
+ } |
+} |
+ |
+TEST_F(ManagePasswordsUIControllerTest, ManualFallbackForSaving_HideFallback) { |
+ for (bool is_update : {false, true}) { |
+ SCOPED_TRACE(testing::Message("is_update = ") << is_update); |
+ std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
+ CreateFormManager()); |
+ test_form_manager->ProvisionallySave( |
+ test_local_form(), |
+ password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
+ controller()->OnShowManualFallback(std::move(test_form_manager), is_update); |
+ ExpectIconStateIs(is_update |
+ ? password_manager::ui::PENDING_PASSWORD_UPDATE_STATE |
+ : password_manager::ui::PENDING_PASSWORD_STATE); |
+ |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
+ controller()->OnHideManualFallback(); |
+ ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
+ } |
+} |
+ |
+TEST_F(ManagePasswordsUIControllerTest, |
+ ManualFallbackForSaving_GeneratedPassword) { |
+ for (bool user_closed_bubble : {false, true}) { |
+ SCOPED_TRACE(testing::Message("user_closed_bubble = ") |
+ << user_closed_bubble); |
+ std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
+ CreateFormManager()); |
+ test_form_manager->ProvisionallySave( |
+ test_local_form(), |
+ password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
+ test_form_manager->SetHasGeneratedPassword(true); |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
+ controller()->OnShowManualFallback(std::move(test_form_manager), false); |
+ ExpectIconStateIs(password_manager::ui::CONFIRMATION_STATE); |
+ |
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility()); |
+ if (user_closed_bubble) |
+ controller()->OnBubbleHidden(); |
+ else // The user removed the generated password. |
+ controller()->OnHideManualFallback(); |
vasilii
2017/07/21 12:48:20
I need more info what's being tested here.
OnBubbl
kolos1
2017/07/24 15:33:29
Added to comments to all tests.
|
+ ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
+ } |
+} |