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

Side by Side 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 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 "base/metrics/histogram_samples.h" 5 #include "base/metrics/histogram_samples.h"
6 #include "base/prefs/pref_service.h" 6 #include "base/prefs/pref_service.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/test/histogram_tester.h" 8 #include "base/test/histogram_tester.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h" 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h"
10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
(...skipping 24 matching lines...) Expand all
35 35
36 void TearDown() override { model_.reset(); } 36 void TearDown() override { model_.reset(); }
37 37
38 void PretendPasswordWaiting() { 38 void PretendPasswordWaiting() {
39 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 39 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
40 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 40 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
41 controller()->SetState( 41 controller()->SetState(
42 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 42 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
43 } 43 }
44 44
45 void PretendCredentialsWaiting() {
46 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE);
47 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
48 controller()->SetState(password_manager::ui::CREDENTIAL_REQUEST_STATE);
49 }
50
45 void PretendManagingPasswords() { 51 void PretendManagingPasswords() {
46 model_->set_state(password_manager::ui::MANAGE_STATE); 52 model_->set_state(password_manager::ui::MANAGE_STATE);
47 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION); 53 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION);
48 controller()->SetState(password_manager::ui::MANAGE_STATE); 54 controller()->SetState(password_manager::ui::MANAGE_STATE);
49 } 55 }
50 56
51 void PretendBlacklisted() { 57 void PretendBlacklisted() {
52 model_->set_state(password_manager::ui::BLACKLIST_STATE); 58 model_->set_state(password_manager::ui::BLACKLIST_STATE);
53 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION); 59 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION);
54 60
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model_->state()); 216 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model_->state());
211 EXPECT_FALSE(controller()->saved_password()); 217 EXPECT_FALSE(controller()->saved_password());
212 EXPECT_FALSE(controller()->never_saved_password()); 218 EXPECT_FALSE(controller()->never_saved_password());
213 219
214 histogram_tester.ExpectUniqueSample( 220 histogram_tester.ExpectUniqueSample(
215 kUIDismissalReasonMetric, 221 kUIDismissalReasonMetric,
216 password_manager::metrics_util::CLICKED_UNBLACKLIST, 222 password_manager::metrics_util::CLICKED_UNBLACKLIST,
217 1); 223 1);
218 } 224 }
219 225
226 TEST_F(ManagePasswordsBubbleModelTest, ClickCredential) {
227 base::HistogramTester histogram_tester;
228 PretendCredentialsWaiting();
229 EXPECT_FALSE(controller()->choose_credential());
230 autofill::PasswordForm form;
231 model_->OnChooseCredentials(form);
232 model_->OnBubbleHidden();
233 EXPECT_EQ(model_->dismissal_reason(),
234 password_manager::metrics_util::CLICKED_CREDENTIAL);
235 EXPECT_FALSE(controller()->saved_password());
236 EXPECT_FALSE(controller()->never_saved_password());
237 EXPECT_TRUE(controller()->choose_credential());
238
239 histogram_tester.ExpectUniqueSample(
240 kUIDismissalReasonMetric,
241 password_manager::metrics_util::CLICKED_CREDENTIAL,
242 1);
243 }
244
245 TEST_F(ManagePasswordsBubbleModelTest, ClickCancelCredential) {
246 base::HistogramTester histogram_tester;
247 PretendCredentialsWaiting();
248 EXPECT_FALSE(controller()->choose_credential());
249 model_->OnNopeClicked();
250 model_->OnBubbleHidden();
251 EXPECT_EQ(model_->dismissal_reason(),
252 password_manager::metrics_util::CLICKED_NOPE);
253 EXPECT_FALSE(controller()->saved_password());
254 EXPECT_FALSE(controller()->never_saved_password());
255 EXPECT_TRUE(controller()->choose_credential());
256
257 histogram_tester.ExpectUniqueSample(
258 kUIDismissalReasonMetric,
259 password_manager::metrics_util::CLICKED_NOPE,
260 1);
261 }
262
263 TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) {
264 base::HistogramTester histogram_tester;
265 PretendCredentialsWaiting();
266 EXPECT_FALSE(controller()->choose_credential());
267 model_->OnBubbleHidden();
268 EXPECT_EQ(model_->dismissal_reason(),
269 password_manager::metrics_util::NO_DIRECT_INTERACTION);
270 EXPECT_FALSE(controller()->saved_password());
271 EXPECT_FALSE(controller()->never_saved_password());
272 EXPECT_TRUE(controller()->choose_credential());
273
274 histogram_tester.ExpectUniqueSample(
275 kUIDismissalReasonMetric,
276 password_manager::metrics_util::NO_DIRECT_INTERACTION,
277 1);
278 }
279
220 TEST_F(ManagePasswordsBubbleModelTest, PasswordPendingUserDecision) { 280 TEST_F(ManagePasswordsBubbleModelTest, PasswordPendingUserDecision) {
221 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 281 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
222 282
223 model_->set_state(password_manager::ui::INACTIVE_STATE); 283 model_->set_state(password_manager::ui::INACTIVE_STATE);
224 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 284 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
225 model_->set_state(password_manager::ui::MANAGE_STATE); 285 model_->set_state(password_manager::ui::MANAGE_STATE);
226 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 286 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
227 model_->set_state(password_manager::ui::BLACKLIST_STATE); 287 model_->set_state(password_manager::ui::BLACKLIST_STATE);
228 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 288 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
229 289
230 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 290 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
231 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state())); 291 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
232 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE); 292 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE);
233 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state())); 293 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
234 } 294 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698