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

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

Issue 928753003: Clean password_manager::ui::State (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with master Created 5 years, 10 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 26 matching lines...) Expand all
37 new ManagePasswordsUIControllerMock(test_web_contents_.get()); 37 new ManagePasswordsUIControllerMock(test_web_contents_.get());
38 38
39 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get())); 39 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get()));
40 } 40 }
41 41
42 void TearDown() override { model_.reset(); } 42 void TearDown() override { model_.reset(); }
43 43
44 PrefService* prefs() { return profile_.GetPrefs(); } 44 PrefService* prefs() { return profile_.GetPrefs(); }
45 45
46 void PretendNeedToAskUserToSubmitURL() { 46 void PretendNeedToAskUserToSubmitURL() {
47 model_->set_state(password_manager::ui::ASK_USER_REPORT_URL_STATE); 47 model_->set_state(password_manager::ui::
48 ASK_USER_REPORT_URL_BUBBLE_SHOWN_BEFORE_TRANSITION_STATE);
48 EXPECT_FALSE(prefs()->GetBoolean( 49 EXPECT_FALSE(prefs()->GetBoolean(
49 password_manager::prefs::kAllowToCollectURLBubbleWasShown)); 50 password_manager::prefs::kAllowToCollectURLBubbleWasShown));
50 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 51 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
51 EXPECT_TRUE(prefs()->GetBoolean( 52 EXPECT_TRUE(prefs()->GetBoolean(
52 password_manager::prefs::kAllowToCollectURLBubbleWasShown)); 53 password_manager::prefs::kAllowToCollectURLBubbleWasShown));
53 controller()->SetState( 54 controller()->SetState(
54 password_manager::ui::ASK_USER_REPORT_URL_BUBBLE_SHOWN_STATE); 55 password_manager::ui::ASK_USER_REPORT_URL_BUBBLE_SHOWN_STATE);
55 } 56 }
56 57
57 void PretendUserInteractedWithAllowToSubmitBubbleBeforeNavigation() { 58 void PretendUserInteractedWithAllowToSubmitBubbleBeforeNavigation() {
58 // TODO(melandory) This method should be removed after solution where 59 // TODO(melandory) This method should be removed after solution where
59 // "Ask to collect URL?" doesn't appear before navigation is implemented. 60 // "Ask to collect URL?" doesn't appear before navigation is implemented.
60 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 61 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
61 model_->set_state( 62 model_->set_state(
62 password_manager::ui:: 63 password_manager::ui::
63 ASK_USER_REPORT_URL_BUBBLE_SHOWN_BEFORE_TRANSITION_STATE); 64 ASK_USER_REPORT_URL_BUBBLE_SHOWN_BEFORE_TRANSITION_STATE);
64 controller()->SetState( 65 controller()->SetState(
65 password_manager::ui::ASK_USER_REPORT_URL_BUBBLE_SHOWN_STATE); 66 password_manager::ui::ASK_USER_REPORT_URL_BUBBLE_SHOWN_STATE);
66 } 67 }
67 68
68 void PretendPasswordWaiting() { 69 void PretendPasswordWaiting() {
69 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 70 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE);
70 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 71 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
71 controller()->SetState( 72 controller()->SetState(
72 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 73 password_manager::ui::PENDING_PASSWORD_STATE);
73 } 74 }
74 75
75 void PretendCredentialsWaiting() { 76 void PretendCredentialsWaiting() {
76 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE); 77 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE);
77 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 78 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
78 controller()->SetState(password_manager::ui::CREDENTIAL_REQUEST_STATE); 79 controller()->SetState(password_manager::ui::CREDENTIAL_REQUEST_STATE);
79 } 80 }
80 81
81 void PretendManagingPasswords() { 82 void PretendManagingPasswords() {
82 model_->set_state(password_manager::ui::MANAGE_STATE); 83 model_->set_state(password_manager::ui::MANAGE_STATE);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 kUIDismissalReasonMetric)); 134 kUIDismissalReasonMetric));
134 EXPECT_EQ(NULL, samples.get()); 135 EXPECT_EQ(NULL, samples.get());
135 } 136 }
136 137
137 TEST_F(ManagePasswordsBubbleModelTest, CloseWithoutInteraction) { 138 TEST_F(ManagePasswordsBubbleModelTest, CloseWithoutInteraction) {
138 base::HistogramTester histogram_tester; 139 base::HistogramTester histogram_tester;
139 PretendPasswordWaiting(); 140 PretendPasswordWaiting();
140 model_->OnBubbleHidden(); 141 model_->OnBubbleHidden();
141 EXPECT_EQ(model_->dismissal_reason(), 142 EXPECT_EQ(model_->dismissal_reason(),
142 password_manager::metrics_util::NO_DIRECT_INTERACTION); 143 password_manager::metrics_util::NO_DIRECT_INTERACTION);
143 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE, 144 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE,
144 model_->state()); 145 model_->state());
145 EXPECT_FALSE(controller()->saved_password()); 146 EXPECT_FALSE(controller()->saved_password());
146 EXPECT_FALSE(controller()->never_saved_password()); 147 EXPECT_FALSE(controller()->never_saved_password());
147 148
148 histogram_tester.ExpectUniqueSample( 149 histogram_tester.ExpectUniqueSample(
149 kUIDismissalReasonMetric, 150 kUIDismissalReasonMetric,
150 password_manager::metrics_util::NO_DIRECT_INTERACTION, 151 password_manager::metrics_util::NO_DIRECT_INTERACTION,
151 1); 152 1);
152 } 153 }
153 154
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 password_manager::metrics_util::NO_DIRECT_INTERACTION); 395 password_manager::metrics_util::NO_DIRECT_INTERACTION);
395 EXPECT_FALSE(controller()->saved_password()); 396 EXPECT_FALSE(controller()->saved_password());
396 EXPECT_FALSE(controller()->never_saved_password()); 397 EXPECT_FALSE(controller()->never_saved_password());
397 EXPECT_TRUE(controller()->choose_credential()); 398 EXPECT_TRUE(controller()->choose_credential());
398 399
399 histogram_tester.ExpectUniqueSample( 400 histogram_tester.ExpectUniqueSample(
400 kUIDismissalReasonMetric, 401 kUIDismissalReasonMetric,
401 password_manager::metrics_util::NO_DIRECT_INTERACTION, 402 password_manager::metrics_util::NO_DIRECT_INTERACTION,
402 1); 403 1);
403 } 404 }
404
405 TEST_F(ManagePasswordsBubbleModelTest, PasswordPendingUserDecision) {
406 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
407
408 model_->set_state(password_manager::ui::INACTIVE_STATE);
409 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
410 model_->set_state(password_manager::ui::MANAGE_STATE);
411 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
412 model_->set_state(password_manager::ui::BLACKLIST_STATE);
413 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
414
415 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
416 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
417 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE);
418 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
419 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/passwords/manage_passwords_bubble_model.cc ('k') | chrome/browser/ui/passwords/manage_passwords_icon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698