| OLD | NEW |
| 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 "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 form.origin = GURL(kSiteOrigin); | 235 form.origin = GURL(kSiteOrigin); |
| 236 form.signon_realm = kSiteOrigin; | 236 form.signon_realm = kSiteOrigin; |
| 237 form.username_value = base::ASCIIToUTF16(kUsername); | 237 form.username_value = base::ASCIIToUTF16(kUsername); |
| 238 form.password_value = base::ASCIIToUTF16("12345"); | 238 form.password_value = base::ASCIIToUTF16("12345"); |
| 239 return form; | 239 return form; |
| 240 } | 240 } |
| 241 | 241 |
| 242 TEST_F(ManagePasswordsBubbleModelTest, CloseWithoutInteraction) { | 242 TEST_F(ManagePasswordsBubbleModelTest, CloseWithoutInteraction) { |
| 243 PretendPasswordWaiting(); | 243 PretendPasswordWaiting(); |
| 244 | 244 |
| 245 EXPECT_EQ(model()->dismissal_reason(), | |
| 246 password_manager::metrics_util::NO_DIRECT_INTERACTION); | |
| 247 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, model()->state()); | 245 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, model()->state()); |
| 248 std::unique_ptr<base::SimpleTestClock> clock(new base::SimpleTestClock); | 246 std::unique_ptr<base::SimpleTestClock> clock(new base::SimpleTestClock); |
| 249 base::Time now = base::Time::Now(); | 247 base::Time now = base::Time::Now(); |
| 250 clock->SetNow(now); | 248 clock->SetNow(now); |
| 251 model()->set_clock(std::move(clock)); | 249 model()->SetClockForTesting(std::move(clock)); |
| 252 password_manager::InteractionsStats stats = GetTestStats(); | 250 password_manager::InteractionsStats stats = GetTestStats(); |
| 253 stats.dismissal_count++; | 251 stats.dismissal_count++; |
| 254 stats.update_time = now; | 252 stats.update_time = now; |
| 255 EXPECT_CALL(*GetStore(), AddSiteStatsImpl(stats)); | 253 EXPECT_CALL(*GetStore(), AddSiteStatsImpl(stats)); |
| 256 EXPECT_CALL(*controller(), SavePassword()).Times(0); | 254 EXPECT_CALL(*controller(), SavePassword()).Times(0); |
| 257 EXPECT_CALL(*controller(), NeverSavePassword()).Times(0); | 255 EXPECT_CALL(*controller(), NeverSavePassword()).Times(0); |
| 258 DestroyModelExpectReason( | 256 DestroyModelExpectReason( |
| 259 password_manager::metrics_util::NO_DIRECT_INTERACTION); | 257 password_manager::metrics_util::NO_DIRECT_INTERACTION); |
| 260 } | 258 } |
| 261 | 259 |
| 262 TEST_F(ManagePasswordsBubbleModelTest, ClickSave) { | 260 TEST_F(ManagePasswordsBubbleModelTest, ClickSave) { |
| 263 PretendPasswordWaiting(); | 261 PretendPasswordWaiting(); |
| 264 | 262 |
| 265 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 263 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 266 EXPECT_CALL(*controller(), SavePassword()); | 264 EXPECT_CALL(*controller(), SavePassword()); |
| 267 EXPECT_CALL(*controller(), NeverSavePassword()).Times(0); | 265 EXPECT_CALL(*controller(), NeverSavePassword()).Times(0); |
| 268 model()->OnSaveClicked(); | 266 model()->OnSaveClicked(); |
| 269 EXPECT_EQ(model()->dismissal_reason(), | |
| 270 password_manager::metrics_util::CLICKED_SAVE); | |
| 271 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_SAVE); | 267 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_SAVE); |
| 272 } | 268 } |
| 273 | 269 |
| 274 TEST_F(ManagePasswordsBubbleModelTest, ClickNever) { | 270 TEST_F(ManagePasswordsBubbleModelTest, ClickNever) { |
| 275 PretendPasswordWaiting(); | 271 PretendPasswordWaiting(); |
| 276 | 272 |
| 277 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); | 273 EXPECT_CALL(*GetStore(), RemoveSiteStatsImpl(GURL(kSiteOrigin).GetOrigin())); |
| 278 EXPECT_CALL(*controller(), SavePassword()).Times(0); | 274 EXPECT_CALL(*controller(), SavePassword()).Times(0); |
| 279 EXPECT_CALL(*controller(), NeverSavePassword()); | 275 EXPECT_CALL(*controller(), NeverSavePassword()); |
| 280 model()->OnNeverForThisSiteClicked(); | 276 model()->OnNeverForThisSiteClicked(); |
| 281 EXPECT_EQ(model()->dismissal_reason(), | 277 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, model()->state()); |
| 282 password_manager::metrics_util::CLICKED_NEVER); | |
| 283 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, model()->state()); | |
| 284 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_NEVER); | 278 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_NEVER); |
| 285 } | 279 } |
| 286 | 280 |
| 287 TEST_F(ManagePasswordsBubbleModelTest, ClickManage) { | 281 TEST_F(ManagePasswordsBubbleModelTest, ClickManage) { |
| 288 PretendManagingPasswords(); | 282 PretendManagingPasswords(); |
| 289 | 283 |
| 290 EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); | 284 EXPECT_CALL(*controller(), NavigateToPasswordManagerSettingsPage()); |
| 291 model()->OnManageLinkClicked(); | 285 model()->OnManageLinkClicked(); |
| 292 | 286 |
| 293 EXPECT_EQ(model()->dismissal_reason(), | |
| 294 password_manager::metrics_util::CLICKED_MANAGE); | |
| 295 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model()->state()); | 287 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model()->state()); |
| 296 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_MANAGE); | 288 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_MANAGE); |
| 297 } | 289 } |
| 298 | 290 |
| 299 TEST_F(ManagePasswordsBubbleModelTest, ClickDone) { | 291 TEST_F(ManagePasswordsBubbleModelTest, ClickDone) { |
| 300 PretendManagingPasswords(); | 292 PretendManagingPasswords(); |
| 301 | 293 |
| 302 model()->OnDoneClicked(); | 294 model()->OnDoneClicked(); |
| 303 EXPECT_EQ(model()->dismissal_reason(), | |
| 304 password_manager::metrics_util::CLICKED_DONE); | |
| 305 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model()->state()); | 295 EXPECT_EQ(password_manager::ui::MANAGE_STATE, model()->state()); |
| 306 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_DONE); | 296 DestroyModelExpectReason(password_manager::metrics_util::CLICKED_DONE); |
| 307 } | 297 } |
| 308 | 298 |
| 309 TEST_F(ManagePasswordsBubbleModelTest, PopupAutoSigninToast) { | 299 TEST_F(ManagePasswordsBubbleModelTest, PopupAutoSigninToast) { |
| 310 PretendAutoSigningIn(); | 300 PretendAutoSigningIn(); |
| 311 | 301 |
| 312 model()->OnAutoSignInToastTimeout(); | 302 model()->OnAutoSignInToastTimeout(); |
| 313 EXPECT_EQ(model()->dismissal_reason(), | |
| 314 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT); | |
| 315 DestroyModelExpectReason( | 303 DestroyModelExpectReason( |
| 316 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT); | 304 password_manager::metrics_util::AUTO_SIGNIN_TOAST_TIMEOUT); |
| 317 } | 305 } |
| 318 | 306 |
| 319 TEST_F(ManagePasswordsBubbleModelTest, ClickUpdate) { | 307 TEST_F(ManagePasswordsBubbleModelTest, ClickUpdate) { |
| 320 PretendUpdatePasswordWaiting(); | 308 PretendUpdatePasswordWaiting(); |
| 321 | 309 |
| 322 autofill::PasswordForm form; | 310 autofill::PasswordForm form; |
| 323 EXPECT_CALL(*controller(), UpdatePassword(form)); | 311 EXPECT_CALL(*controller(), UpdatePassword(form)); |
| 324 model()->OnUpdateClicked(form); | 312 model()->OnUpdateClicked(form); |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 ManageLinkTarget::SETTINGS_PAGE}, | 474 ManageLinkTarget::SETTINGS_PAGE}, |
| 487 {nullptr, SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, | 475 {nullptr, SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| 488 {"Default", SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, | 476 {"Default", SmartLockStatus::DISABLE, ManageLinkTarget::SETTINGS_PAGE}, |
| 489 }; | 477 }; |
| 490 | 478 |
| 491 } // namespace | 479 } // namespace |
| 492 | 480 |
| 493 INSTANTIATE_TEST_CASE_P(Default, | 481 INSTANTIATE_TEST_CASE_P(Default, |
| 494 ManagePasswordsBubbleModelManageLinkTest, | 482 ManagePasswordsBubbleModelManageLinkTest, |
| 495 ::testing::ValuesIn(kManageLinkTestCases)); | 483 ::testing::ValuesIn(kManageLinkTestCases)); |
| OLD | NEW |