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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_bubble_model_unittest.cc

Issue 1009953002: Integrate ManagePasswordsState into ManagePasswordsUIController. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed the comments Created 5 years, 9 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 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 25 matching lines...) Expand all
36 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get())); 36 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get()));
37 } 37 }
38 38
39 void TearDown() override { model_.reset(); } 39 void TearDown() override { model_.reset(); }
40 40
41 PrefService* prefs() { return profile_.GetPrefs(); } 41 PrefService* prefs() { return profile_.GetPrefs(); }
42 42
43 void PretendPasswordWaiting() { 43 void PretendPasswordWaiting() {
44 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE); 44 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE);
45 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 45 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
46 controller()->SetState(
47 password_manager::ui::PENDING_PASSWORD_STATE);
48 } 46 }
49 47
50 void PretendCredentialsWaiting() { 48 void PretendCredentialsWaiting() {
51 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE); 49 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE);
52 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 50 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
53 controller()->SetState(password_manager::ui::CREDENTIAL_REQUEST_STATE);
54 } 51 }
55 52
56 void PretendAutoSigningIn() { 53 void PretendAutoSigningIn() {
57 model_->set_state(password_manager::ui::AUTO_SIGNIN_STATE); 54 model_->set_state(password_manager::ui::AUTO_SIGNIN_STATE);
58 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 55 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
59 controller()->SetState(password_manager::ui::AUTO_SIGNIN_STATE);
60 } 56 }
61 57
62 void PretendManagingPasswords() { 58 void PretendManagingPasswords() {
63 model_->set_state(password_manager::ui::MANAGE_STATE); 59 model_->set_state(password_manager::ui::MANAGE_STATE);
64 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION); 60 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION);
65 controller()->SetState(password_manager::ui::MANAGE_STATE);
66 } 61 }
67 62
68 void PretendBlacklisted() { 63 void PretendBlacklisted() {
69 model_->set_state(password_manager::ui::BLACKLIST_STATE); 64 model_->set_state(password_manager::ui::BLACKLIST_STATE);
70 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION); 65 model_->OnBubbleShown(ManagePasswordsBubble::USER_ACTION);
71
72 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
73 autofill::ConstPasswordFormMap map;
74 map[kTestUsername] = &test_form_;
75 controller()->SetPasswordFormMap(map);
76 controller()->SetState(password_manager::ui::BLACKLIST_STATE);
77 } 66 }
78 67
79 ManagePasswordsUIControllerMock* controller() { 68 ManagePasswordsUIControllerMock* controller() {
80 return static_cast<ManagePasswordsUIControllerMock*>( 69 return static_cast<ManagePasswordsUIControllerMock*>(
81 ManagePasswordsUIController::FromWebContents( 70 ManagePasswordsUIController::FromWebContents(
82 test_web_contents_.get())); 71 test_web_contents_.get()));
83 } 72 }
84 73
85 protected: 74 protected:
86 scoped_ptr<ManagePasswordsBubbleModel> model_; 75 scoped_ptr<ManagePasswordsBubbleModel> model_;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 TEST_F(ManagePasswordsBubbleModelTest, ClickUnblacklist) { 209 TEST_F(ManagePasswordsBubbleModelTest, ClickUnblacklist) {
221 base::HistogramTester histogram_tester; 210 base::HistogramTester histogram_tester;
222 PretendBlacklisted(); 211 PretendBlacklisted();
223 model_->OnUnblacklistClicked(); 212 model_->OnUnblacklistClicked();
224 model_->OnBubbleHidden(); 213 model_->OnBubbleHidden();
225 EXPECT_EQ(model_->dismissal_reason(), 214 EXPECT_EQ(model_->dismissal_reason(),
226 password_manager::metrics_util::CLICKED_UNBLACKLIST); 215 password_manager::metrics_util::CLICKED_UNBLACKLIST);
227 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model_->state()); 216 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model_->state());
228 EXPECT_FALSE(controller()->saved_password()); 217 EXPECT_FALSE(controller()->saved_password());
229 EXPECT_FALSE(controller()->never_saved_password()); 218 EXPECT_FALSE(controller()->never_saved_password());
219 EXPECT_TRUE(controller()->unblacklist_site());
230 220
231 histogram_tester.ExpectUniqueSample( 221 histogram_tester.ExpectUniqueSample(
232 kUIDismissalReasonMetric, 222 kUIDismissalReasonMetric,
233 password_manager::metrics_util::CLICKED_UNBLACKLIST, 223 password_manager::metrics_util::CLICKED_UNBLACKLIST,
234 1); 224 1);
235 } 225 }
236 226
237 TEST_F(ManagePasswordsBubbleModelTest, ClickCredential) { 227 TEST_F(ManagePasswordsBubbleModelTest, ClickCredential) {
238 base::HistogramTester histogram_tester; 228 base::HistogramTester histogram_tester;
239 PretendCredentialsWaiting(); 229 PretendCredentialsWaiting();
(...skipping 17 matching lines...) Expand all
257 TEST_F(ManagePasswordsBubbleModelTest, ClickCancelCredential) { 247 TEST_F(ManagePasswordsBubbleModelTest, ClickCancelCredential) {
258 base::HistogramTester histogram_tester; 248 base::HistogramTester histogram_tester;
259 PretendCredentialsWaiting(); 249 PretendCredentialsWaiting();
260 EXPECT_FALSE(controller()->choose_credential()); 250 EXPECT_FALSE(controller()->choose_credential());
261 model_->OnNopeClicked(); 251 model_->OnNopeClicked();
262 model_->OnBubbleHidden(); 252 model_->OnBubbleHidden();
263 EXPECT_EQ(model_->dismissal_reason(), 253 EXPECT_EQ(model_->dismissal_reason(),
264 password_manager::metrics_util::CLICKED_NOPE); 254 password_manager::metrics_util::CLICKED_NOPE);
265 EXPECT_FALSE(controller()->saved_password()); 255 EXPECT_FALSE(controller()->saved_password());
266 EXPECT_FALSE(controller()->never_saved_password()); 256 EXPECT_FALSE(controller()->never_saved_password());
267 EXPECT_TRUE(controller()->choose_credential()); 257 EXPECT_FALSE(controller()->choose_credential());
268 258
269 histogram_tester.ExpectUniqueSample( 259 histogram_tester.ExpectUniqueSample(
270 kUIDismissalReasonMetric, 260 kUIDismissalReasonMetric,
271 password_manager::metrics_util::CLICKED_NOPE, 261 password_manager::metrics_util::CLICKED_NOPE,
272 1); 262 1);
273 } 263 }
274 264
275 TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) { 265 TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) {
276 base::HistogramTester histogram_tester; 266 base::HistogramTester histogram_tester;
277 PretendCredentialsWaiting(); 267 PretendCredentialsWaiting();
278 EXPECT_FALSE(controller()->choose_credential()); 268 EXPECT_FALSE(controller()->choose_credential());
279 model_->OnBubbleHidden(); 269 model_->OnBubbleHidden();
280 EXPECT_EQ(model_->dismissal_reason(), 270 EXPECT_EQ(model_->dismissal_reason(),
281 password_manager::metrics_util::NO_DIRECT_INTERACTION); 271 password_manager::metrics_util::NO_DIRECT_INTERACTION);
282 EXPECT_FALSE(controller()->saved_password()); 272 EXPECT_FALSE(controller()->saved_password());
283 EXPECT_FALSE(controller()->never_saved_password()); 273 EXPECT_FALSE(controller()->never_saved_password());
284 EXPECT_TRUE(controller()->choose_credential()); 274 EXPECT_FALSE(controller()->choose_credential());
285 275
286 histogram_tester.ExpectUniqueSample( 276 histogram_tester.ExpectUniqueSample(
287 kUIDismissalReasonMetric, 277 kUIDismissalReasonMetric,
288 password_manager::metrics_util::NO_DIRECT_INTERACTION, 278 password_manager::metrics_util::NO_DIRECT_INTERACTION,
289 1); 279 1);
290 } 280 }
291 281
292 TEST_F(ManagePasswordsBubbleModelTest, PopupAutoSigninToast) { 282 TEST_F(ManagePasswordsBubbleModelTest, PopupAutoSigninToast) {
293 base::HistogramTester histogram_tester; 283 base::HistogramTester histogram_tester;
294 PretendAutoSigningIn(); 284 PretendAutoSigningIn();
295 model_->OnAutoSignInToastTimeout(); 285 model_->OnAutoSignInToastTimeout();
296 model_->OnBubbleHidden(); 286 model_->OnBubbleHidden();
297 EXPECT_EQ(model_->dismissal_reason(), 287 EXPECT_EQ(model_->dismissal_reason(),
298 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT); 288 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT);
299 289
300 histogram_tester.ExpectUniqueSample( 290 histogram_tester.ExpectUniqueSample(
301 kUIDismissalReasonMetric, 291 kUIDismissalReasonMetric,
302 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT, 292 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT,
303 1); 293 1);
304 } 294 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698