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

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

Issue 765073004: Adding skeleton code for showing Bubble, asking user to submit URL when Password Manager fails (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 17 matching lines...) Expand all
28 void SetUp() override { 28 void SetUp() override {
29 // Create the test UIController here so that it's bound to 29 // Create the test UIController here so that it's bound to
30 // |test_web_contents_| and therefore accessible to the model. 30 // |test_web_contents_| and therefore accessible to the model.
31 new ManagePasswordsUIControllerMock(test_web_contents_.get()); 31 new ManagePasswordsUIControllerMock(test_web_contents_.get());
32 32
33 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get())); 33 model_.reset(new ManagePasswordsBubbleModel(test_web_contents_.get()));
34 } 34 }
35 35
36 void TearDown() override { model_.reset(); } 36 void TearDown() override { model_.reset(); }
37 37
38 void PretendNeedToAskUserToSubmitURL() {
39 model_->set_state(
40 password_manager::ui::ASK_USER_TO_REPORT_URL_AND_BUBBLE_STATE);
41 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
42 controller()->SetState(
43 password_manager::ui::ASK_USER_TO_REPORT_URL_AND_BUBBLE_STATE);
44 }
45
38 void PretendPasswordWaiting() { 46 void PretendPasswordWaiting() {
39 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 47 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
40 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 48 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
41 controller()->SetState( 49 controller()->SetState(
42 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 50 password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
43 } 51 }
44 52
45 void PretendCredentialsWaiting() { 53 void PretendCredentialsWaiting() {
46 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE); 54 model_->set_state(password_manager::ui::CREDENTIAL_REQUEST_STATE);
47 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC); 55 model_->OnBubbleShown(ManagePasswordsBubble::AUTOMATIC);
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 EXPECT_FALSE(controller()->saved_password()); 261 EXPECT_FALSE(controller()->saved_password());
254 EXPECT_FALSE(controller()->never_saved_password()); 262 EXPECT_FALSE(controller()->never_saved_password());
255 EXPECT_TRUE(controller()->choose_credential()); 263 EXPECT_TRUE(controller()->choose_credential());
256 264
257 histogram_tester.ExpectUniqueSample( 265 histogram_tester.ExpectUniqueSample(
258 kUIDismissalReasonMetric, 266 kUIDismissalReasonMetric,
259 password_manager::metrics_util::CLICKED_NOPE, 267 password_manager::metrics_util::CLICKED_NOPE,
260 1); 268 1);
261 } 269 }
262 270
271 TEST_F(ManagePasswordsBubbleModelTest, ClickCollectURL) {
272 base::HistogramTester histogram_tester;
273 PretendNeedToAskUserToSubmitURL();
274 model_->OnCollectURLClicked();
275 model_->OnBubbleHidden();
276 EXPECT_EQ(model_->dismissal_reason(),
277 password_manager::metrics_util::CLICKED_COLLECT_URL);
278 EXPECT_EQ(password_manager::ui::ASK_USER_TO_REPORT_URL_AND_BUBBLE_STATE,
279 model_->state());
280
281 histogram_tester.ExpectUniqueSample(
282 kUIDismissalReasonMetric,
283 password_manager::metrics_util::CLICKED_COLLECT_URL, 1);
284 }
285
286 TEST_F(ManagePasswordsBubbleModelTest, ClickDoNotCollectURL) {
287 base::HistogramTester histogram_tester;
288 PretendNeedToAskUserToSubmitURL();
289 model_->OnDoNotCollectURLClicked();
290 model_->OnBubbleHidden();
291 EXPECT_EQ(model_->dismissal_reason(),
292 password_manager::metrics_util::CLICKED_DO_NOT_COLLECT_URL);
293 EXPECT_EQ(password_manager::ui::ASK_USER_TO_REPORT_URL_AND_BUBBLE_STATE,
294 model_->state());
295
296 histogram_tester.ExpectUniqueSample(
297 kUIDismissalReasonMetric,
298 password_manager::metrics_util::CLICKED_DO_NOT_COLLECT_URL, 1);
299 }
300
263 TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) { 301 TEST_F(ManagePasswordsBubbleModelTest, DismissCredential) {
264 base::HistogramTester histogram_tester; 302 base::HistogramTester histogram_tester;
265 PretendCredentialsWaiting(); 303 PretendCredentialsWaiting();
266 EXPECT_FALSE(controller()->choose_credential()); 304 EXPECT_FALSE(controller()->choose_credential());
267 model_->OnBubbleHidden(); 305 model_->OnBubbleHidden();
268 EXPECT_EQ(model_->dismissal_reason(), 306 EXPECT_EQ(model_->dismissal_reason(),
269 password_manager::metrics_util::NO_DIRECT_INTERACTION); 307 password_manager::metrics_util::NO_DIRECT_INTERACTION);
270 EXPECT_FALSE(controller()->saved_password()); 308 EXPECT_FALSE(controller()->saved_password());
271 EXPECT_FALSE(controller()->never_saved_password()); 309 EXPECT_FALSE(controller()->never_saved_password());
272 EXPECT_TRUE(controller()->choose_credential()); 310 EXPECT_TRUE(controller()->choose_credential());
(...skipping 12 matching lines...) Expand all
285 model_->set_state(password_manager::ui::MANAGE_STATE); 323 model_->set_state(password_manager::ui::MANAGE_STATE);
286 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 324 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
287 model_->set_state(password_manager::ui::BLACKLIST_STATE); 325 model_->set_state(password_manager::ui::BLACKLIST_STATE);
288 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state())); 326 EXPECT_FALSE(password_manager::ui::IsPendingState(model_->state()));
289 327
290 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE); 328 model_->set_state(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE);
291 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state())); 329 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
292 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE); 330 model_->set_state(password_manager::ui::PENDING_PASSWORD_STATE);
293 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state())); 331 EXPECT_TRUE(password_manager::ui::IsPendingState(model_->state()));
294 } 332 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698