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

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

Issue 733463003: Show user credentials chooser bubble. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge with trunk Created 6 years, 1 month 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_bubble_model_unittest.cc
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc
index 301d3717e17dc47743ef225ec3e72056f5246876..50a52f264a9da72aa49acec58fce80cea1a8def2 100644
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc
@@ -42,6 +42,12 @@ class ManagePasswordsBubbleModelTest : public testing::Test {
password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
}
+ void PretendCredentialsWaiting() {
+ model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE);
+ model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
+ controller()->SetState(password_manager::ui::CREDENTIAL_REQUEST_STATE);
+ }
+
void PretendManagingPasswords() {
model_->set_state(password_manager::ui::MANAGE_STATE);
model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION);
@@ -217,6 +223,60 @@ TEST_F(ManagePasswordsBubbleModelTest, ClickUnblacklist) {
1);
}
+TEST_F(ManagePasswordsBubbleModelTest, ClickCredential) {
+ base::HistogramTester histogram_tester;
+ PretendCredentialsWaiting();
+ EXPECT_FALSE(controller()->choose_credential());
+ autofill::PasswordForm form;
+ model_->OnChooseCredentials(form);
+ model_->OnBubbleHidden();
+ EXPECT_EQ(model_->dismissal_reason(),
+ password_manager::metrics_util::CLICKED_CREDENTIAL);
+ EXPECT_FALSE(controller()->saved_password());
+ EXPECT_FALSE(controller()->never_saved_password());
+ EXPECT_TRUE(controller()->choose_credential());
+
+ histogram_tester.ExpectUniqueSample(
+ kUIDismissalReasonMetric,
+ password_manager::metrics_util::CLICKED_CREDENTIAL,
+ 1);
+}
+
+TEST_F(ManagePasswordsBubbleModelTest, ClickCancelCredential) {
+ base::HistogramTester histogram_tester;
+ PretendCredentialsWaiting();
+ EXPECT_FALSE(controller()->choose_credential());
+ model_->OnNopeClicked();
+ model_->OnBubbleHidden();
+ EXPECT_EQ(model_->dismissal_reason(),
+ password_manager::metrics_util::CLICKED_NOPE);
+ EXPECT_FALSE(controller()->saved_password());
+ EXPECT_FALSE(controller()->never_saved_password());
+ EXPECT_TRUE(controller()->choose_credential());
+
+ histogram_tester.ExpectUniqueSample(
+ kUIDismissalReasonMetric,
+ password_manager::metrics_util::CLICKED_NOPE,
+ 1);
+}
+
+TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) {
+ base::HistogramTester histogram_tester;
+ PretendCredentialsWaiting();
+ EXPECT_FALSE(controller()->choose_credential());
+ model_->OnBubbleHidden();
+ EXPECT_EQ(model_->dismissal_reason(),
+ password_manager::metrics_util::NO_DIRECT_INTERACTION);
+ EXPECT_FALSE(controller()->saved_password());
+ EXPECT_FALSE(controller()->never_saved_password());
+ EXPECT_TRUE(controller()->choose_credential());
+
+ histogram_tester.ExpectUniqueSample(
+ kUIDismissalReasonMetric,
+ password_manager::metrics_util::NO_DIRECT_INTERACTION,
+ 1);
+}
+
TEST_F(ManagePasswordsBubbleModelTest, PasswordPendingUserDecision) {
EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));

Powered by Google App Engine
This is Rietveld 408576698