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

Unified Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 2036323002: Implement the UI logic behind the Sign In promo in the password bubble (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more tests Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
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 0e573191da7f1b910f6ad4849be52f837c406204..8c3a29e5dbef6f4d22270efd5ebc972aa3b3fb83 100644
--- a/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc
@@ -90,6 +90,7 @@ class TestManagePasswordsUIController : public ManagePasswordsUIController {
AccountChooserPrompt*(PasswordDialogController*));
MOCK_METHOD1(CreateAutoSigninPrompt,
AutoSigninFirstRunPrompt*(PasswordDialogController*));
+ MOCK_METHOD0(OnUpdateBubbleAndIconVisibility, void());
using ManagePasswordsUIController::DidNavigateMainFrame;
private:
@@ -119,6 +120,7 @@ TestManagePasswordsUIController::~TestManagePasswordsUIController() {
void TestManagePasswordsUIController::UpdateBubbleAndIconVisibility() {
opened_bubble_ = IsAutomaticallyOpeningBubble();
ManagePasswordsUIController::UpdateBubbleAndIconVisibility();
+ OnUpdateBubbleAndIconVisibility();
if (opened_bubble_)
OnBubbleShown();
}
@@ -208,6 +210,7 @@ void ManagePasswordsUIControllerTest::SetUp() {
url::Origin(GURL("https://federation.test/"));
// We need to be on a "webby" URL for most tests.
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
content::WebContentsTester::For(web_contents())
->NavigateAndCommit(GURL("http://example.com"));
}
@@ -258,6 +261,7 @@ void ManagePasswordsUIControllerTest::TestNotChangingStateOnAutofill(
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
if (state == password_manager::ui::PENDING_PASSWORD_STATE)
controller()->OnPasswordSubmitted(std::move(test_form_manager));
else if (state == password_manager::ui::PENDING_PASSWORD_UPDATE_STATE)
@@ -293,6 +297,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) {
base::string16 kTestUsername = test_form->username_value;
autofill::PasswordFormMap map;
map.insert(std::make_pair(kTestUsername, std::move(test_form)));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
@@ -312,6 +317,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
controller()->GetState());
@@ -331,7 +337,7 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedFormPasswordSubmitted) {
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager =
CreateFormManagerWithBestMatches(test_local_form(),
std::move(stored_forms));
-
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
controller()->GetState());
@@ -356,6 +362,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleSuppressed) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
controller()->GetState());
@@ -383,6 +390,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedBubbleNotSuppressed) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
controller()->GetState());
@@ -399,6 +407,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSaved) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
controller()->SavePassword();
@@ -411,6 +420,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
controller()->NeverSavePassword();
@@ -420,6 +430,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordBlacklisted) {
TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) {
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
CreateFormManager());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_STATE);
@@ -436,12 +447,15 @@ TEST_F(ManagePasswordsUIControllerTest, NormalNavigations) {
TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) {
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
CreateFormManager());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
controller()->SavePassword();
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnBubbleHidden();
ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
// Fake-navigate. There is no bubble, reset the state.
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->DidNavigateMainFrame(content::LoadCommittedDetails(),
content::FrameNavigateParams());
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
@@ -450,6 +464,7 @@ TEST_F(ManagePasswordsUIControllerTest, NormalNavigationsClosedBubble) {
TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) {
// Navigate to a non-webby URL, then see what happens!
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
content::WebContentsTester::For(web_contents())
->NavigateAndCommit(GURL("chrome://sign-in"));
@@ -458,6 +473,7 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordSubmittedToNonWebbyURL) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
EXPECT_EQ(GURL::EmptyGURL(), controller()->GetOrigin());
@@ -471,6 +487,7 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) {
map.insert(std::make_pair(
kTestUsername,
base::WrapUnique(new autofill::PasswordForm(test_local_form()))));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
test_local_form().blacklisted_by_user = true;
@@ -488,10 +505,11 @@ TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) {
TEST_F(ManagePasswordsUIControllerTest, AutomaticPasswordSave) {
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
CreateFormManager());
-
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnAutomaticPasswordSave(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->GetState());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnBubbleHidden();
ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
}
@@ -505,6 +523,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -521,6 +540,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
EXPECT_CALL(dialog_prompt(), ControllerGone());
EXPECT_CALL(*this, CredentialCallback(Pointee(test_local_form())));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
dialog_controller->OnChooseCredentials(
*dialog_controller->GetLocalForms()[0],
password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
@@ -537,6 +557,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) {
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -553,6 +574,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocalButFederated) {
EXPECT_CALL(dialog_prompt(), ControllerGone());
EXPECT_CALL(*this, CredentialCallback(Pointee(test_federated_form())));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
dialog_controller->OnChooseCredentials(
*dialog_controller->GetLocalForms()[0],
password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD);
@@ -568,6 +590,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
EXPECT_CALL(*controller(), CreateAccountChooser(_)).WillOnce(
DoAll(SaveArg<0>(&dialog_controller), Return(&dialog_prompt())));
EXPECT_CALL(dialog_prompt(), ShowAccountChooser());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
EXPECT_TRUE(controller()->OnChooseCredentials(
std::move(local_credentials), std::move(federated_credentials), origin,
base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
@@ -578,6 +601,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0);
EXPECT_CALL(*this, CredentialCallback(nullptr));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
dialog_controller->OnCloseDialog();
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
}
@@ -585,6 +609,7 @@ TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
TEST_F(ManagePasswordsUIControllerTest, AutoSignin) {
ScopedVector<autofill::PasswordForm> local_credentials;
local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnAutoSignin(std::move(local_credentials),
test_local_form().origin);
EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, controller()->GetState());
@@ -592,6 +617,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSignin) {
ASSERT_FALSE(controller()->GetCurrentForms().empty());
EXPECT_EQ(test_local_form(), *controller()->GetCurrentForms()[0]);
ExpectIconStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnBubbleHidden();
ExpectIconAndControllerStateIs(password_manager::ui::MANAGE_STATE);
}
@@ -614,6 +640,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterAutofill) {
const base::string16 kTestUsername = test_form->username_value;
autofill::PasswordFormMap map;
map.insert(std::make_pair(kTestUsername, std::move(test_form)));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordAutofilled(map, test_form_ptr->origin, nullptr);
EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->GetState());
@@ -641,6 +668,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterNavigation) {
EXPECT_CALL(dialog_prompt(), ControllerGone()).Times(0);
content::FrameNavigateParams params;
params.transition = ui::PAGE_TRANSITION_LINK;
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), params);
ASSERT_TRUE(testing::Mock::VerifyAndClearExpectations(&dialog_prompt()));
EXPECT_CALL(dialog_prompt(), ControllerGone());
@@ -649,6 +677,7 @@ TEST_F(ManagePasswordsUIControllerTest, AutoSigninFirstRunAfterNavigation) {
TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) {
ScopedVector<autofill::PasswordForm> local_credentials;
local_credentials.push_back(new autofill::PasswordForm(test_local_form()));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnAutoSignin(std::move(local_credentials),
test_local_form().origin);
ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE);
@@ -669,6 +698,7 @@ TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) {
new autofill::PasswordForm(test_local_form()));
psl_matched_test_form->is_public_suffix_match = true;
map.insert(std::make_pair(kTestUsername, std::move(psl_matched_test_form)));
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnPasswordAutofilled(map, map.begin()->second->origin, nullptr);
EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->GetState());
@@ -677,6 +707,7 @@ TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) {
TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) {
std::unique_ptr<password_manager::PasswordFormManager> test_form_manager(
CreateFormManager());
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE,
controller()->GetState());
@@ -690,9 +721,11 @@ TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) {
test_form_manager->ProvisionallySave(
test_local_form(),
password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->OnUpdatePasswordSubmitted(std::move(test_form_manager));
ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE);
+ EXPECT_CALL(*controller(), OnUpdateBubbleAndIconVisibility());
controller()->UpdatePassword(autofill::PasswordForm());
ExpectIconStateIs(password_manager::ui::MANAGE_STATE);
}

Powered by Google App Engine
This is Rietveld 408576698