OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_state.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_state.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "components/password_manager/content/common/credential_manager_types.h" | 8 #include "components/password_manager/content/common/credential_manager_types.h" |
9 #include "components/password_manager/core/browser/password_form_manager.h" | 9 #include "components/password_manager/core/browser/password_form_manager.h" |
10 #include "components/password_manager/core/browser/stub_password_manager_client.
h" | 10 #include "components/password_manager/core/browser/stub_password_manager_client.
h" |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 test_local_form(), | 246 test_local_form(), |
247 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); | 247 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); |
248 EXPECT_CALL(*this, OnChooseCredential(_)) | 248 EXPECT_CALL(*this, OnChooseCredential(_)) |
249 .WillOnce(testing::SaveArg<0>(&credential_info)); | 249 .WillOnce(testing::SaveArg<0>(&credential_info)); |
250 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 250 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
251 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 251 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
252 credential_info.type); | 252 credential_info.type); |
253 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); | 253 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); |
254 EXPECT_THAT(passwords_data().GetCurrentForms(), | 254 EXPECT_THAT(passwords_data().GetCurrentForms(), |
255 ElementsAre(Pointee(test_local_form()))); | 255 ElementsAre(Pointee(test_local_form()))); |
256 EXPECT_THAT(passwords_data().federated_credentials_forms(), | 256 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
257 ElementsAre(Pointee(test_federated_form()))); | |
258 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 257 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
259 EXPECT_EQ(origin, passwords_data().origin()); | 258 EXPECT_EQ(origin, passwords_data().origin()); |
260 TestAllUpdates(); | 259 TestAllUpdates(); |
261 } | 260 } |
262 | 261 |
263 TEST_F(ManagePasswordsStateTest, AutoSignin) { | 262 TEST_F(ManagePasswordsStateTest, AutoSignin) { |
264 ScopedVector<autofill::PasswordForm> local_credentials; | 263 ScopedVector<autofill::PasswordForm> local_credentials; |
265 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 264 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
266 passwords_data().OnAutoSignin(local_credentials.Pass()); | 265 passwords_data().OnAutoSignin(local_credentials.Pass()); |
267 EXPECT_THAT(passwords_data().GetCurrentForms(), | 266 EXPECT_THAT(passwords_data().GetCurrentForms(), |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 passwords_data().OnPasswordAutofilled(password_form_map); | 346 passwords_data().OnPasswordAutofilled(password_form_map); |
348 | 347 |
349 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); | 348 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); |
350 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 349 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
351 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); | 350 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); |
352 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); | 351 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); |
353 EXPECT_FALSE(passwords_data().form_manager()); | 352 EXPECT_FALSE(passwords_data().form_manager()); |
354 } | 353 } |
355 | 354 |
356 TEST_F(ManagePasswordsStateTest, BlacklistBlockedAutofill) { | 355 TEST_F(ManagePasswordsStateTest, BlacklistBlockedAutofill) { |
357 test_local_form().blacklisted_by_user = true; | 356 autofill::PasswordForm blacklisted; |
| 357 blacklisted.blacklisted_by_user = true; |
| 358 blacklisted.origin = GURL("http://example.com/bad"); |
358 autofill::PasswordFormMap password_form_map; | 359 autofill::PasswordFormMap password_form_map; |
| 360 password_form_map[blacklisted.username_value] = &blacklisted; |
359 password_form_map[test_local_form().username_value] = &test_local_form(); | 361 password_form_map[test_local_form().username_value] = &test_local_form(); |
360 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 362 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
361 | 363 |
362 EXPECT_THAT(passwords_data().GetCurrentForms(), | 364 EXPECT_THAT(passwords_data().GetCurrentForms(), |
363 ElementsAre(Pointee(test_local_form()))); | 365 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
364 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 366 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
365 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 367 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
366 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 368 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
367 | 369 |
368 // |passwords_data| should hold a separate copy of test_local_form(). | 370 // |passwords_data| should hold a separate copy of test_local_form(). |
369 EXPECT_THAT(passwords_data().GetCurrentForms(), | 371 EXPECT_THAT(passwords_data().GetCurrentForms(), |
370 Not(Contains(&test_local_form()))); | 372 Not(Contains(&test_local_form()))); |
371 TestAllUpdates(); | 373 TestAllUpdates(); |
372 } | 374 } |
373 | 375 |
374 TEST_F(ManagePasswordsStateTest, Unblacklist) { | 376 TEST_F(ManagePasswordsStateTest, Unblacklist) { |
| 377 autofill::PasswordForm blacklisted; |
| 378 blacklisted.blacklisted_by_user = true; |
| 379 blacklisted.origin = test_local_form().origin; |
375 autofill::PasswordFormMap password_form_map; | 380 autofill::PasswordFormMap password_form_map; |
376 password_form_map[test_local_form().username_value] = &test_local_form(); | 381 password_form_map[blacklisted.username_value] = &blacklisted; |
377 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 382 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
378 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 383 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
379 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 384 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
380 | 385 |
381 EXPECT_THAT(passwords_data().GetCurrentForms(), | 386 EXPECT_THAT(passwords_data().GetCurrentForms(), |
382 ElementsAre(Pointee(test_local_form()))); | 387 ElementsAre(Pointee(blacklisted))); |
383 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 388 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
384 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 389 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
385 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 390 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
386 TestAllUpdates(); | 391 TestAllUpdates(); |
387 } | 392 } |
388 | 393 |
389 TEST_F(ManagePasswordsStateTest, OnInactive) { | 394 TEST_F(ManagePasswordsStateTest, OnInactive) { |
390 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 395 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
391 CreateFormManager()); | 396 CreateFormManager()); |
392 test_form_manager->ProvisionallySave( | 397 test_form_manager->ProvisionallySave( |
393 test_submitted_form(), | 398 test_submitted_form(), |
394 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 399 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
395 passwords_data().OnPendingPassword(test_form_manager.Pass()); | 400 passwords_data().OnPendingPassword(test_form_manager.Pass()); |
(...skipping 19 matching lines...) Expand all Loading... |
415 passwords_data().state()); | 420 passwords_data().state()); |
416 | 421 |
417 // Process the blacklisted form. | 422 // Process the blacklisted form. |
418 autofill::PasswordForm blacklisted = test_local_form(); | 423 autofill::PasswordForm blacklisted = test_local_form(); |
419 blacklisted.blacklisted_by_user = true; | 424 blacklisted.blacklisted_by_user = true; |
420 blacklisted.username_value = base::string16(); | 425 blacklisted.username_value = base::string16(); |
421 password_manager::PasswordStoreChangeList list; | 426 password_manager::PasswordStoreChangeList list; |
422 list.push_back(password_manager::PasswordStoreChange( | 427 list.push_back(password_manager::PasswordStoreChange( |
423 password_manager::PasswordStoreChange::ADD, blacklisted)); | 428 password_manager::PasswordStoreChange::ADD, blacklisted)); |
424 passwords_data().ProcessLoginsChanged(list); | 429 passwords_data().ProcessLoginsChanged(list); |
| 430 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 431 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
425 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 432 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
426 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 433 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
427 | 434 |
428 // Delete the blacklisted form. | 435 // Delete the blacklisted form. |
429 list[0] = password_manager::PasswordStoreChange( | 436 list[0] = password_manager::PasswordStoreChange( |
430 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 437 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
431 passwords_data().ProcessLoginsChanged(list); | 438 passwords_data().ProcessLoginsChanged(list); |
432 EXPECT_THAT(passwords_data().GetCurrentForms(), | 439 EXPECT_THAT(passwords_data().GetCurrentForms(), |
433 ElementsAre(Pointee(test_local_form()))); | 440 ElementsAre(Pointee(test_local_form()))); |
434 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 441 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
(...skipping 22 matching lines...) Expand all Loading... |
457 blacklisted.username_value = base::string16(); | 464 blacklisted.username_value = base::string16(); |
458 password_manager::PasswordStoreChangeList list; | 465 password_manager::PasswordStoreChangeList list; |
459 list.push_back(password_manager::PasswordStoreChange( | 466 list.push_back(password_manager::PasswordStoreChange( |
460 password_manager::PasswordStoreChange::ADD, blacklisted)); | 467 password_manager::PasswordStoreChange::ADD, blacklisted)); |
461 password_manager::CredentialInfo credential_info( | 468 password_manager::CredentialInfo credential_info( |
462 test_local_form(), | 469 test_local_form(), |
463 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); | 470 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); |
464 EXPECT_CALL(*this, OnChooseCredential(_)) | 471 EXPECT_CALL(*this, OnChooseCredential(_)) |
465 .WillOnce(testing::SaveArg<0>(&credential_info)); | 472 .WillOnce(testing::SaveArg<0>(&credential_info)); |
466 passwords_data().ProcessLoginsChanged(list); | 473 passwords_data().ProcessLoginsChanged(list); |
| 474 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 475 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
467 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 476 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
468 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 477 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
469 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 478 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
470 credential_info.type); | 479 credential_info.type); |
471 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); | 480 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); |
472 | 481 |
473 // Delete the blacklisted form. | 482 // Delete the blacklisted form. |
474 list[0] = password_manager::PasswordStoreChange( | 483 list[0] = password_manager::PasswordStoreChange( |
475 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 484 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
476 passwords_data().ProcessLoginsChanged(list); | 485 passwords_data().ProcessLoginsChanged(list); |
477 EXPECT_THAT(passwords_data().GetCurrentForms(), | 486 EXPECT_THAT(passwords_data().GetCurrentForms(), |
478 ElementsAre(Pointee(test_local_form()))); | 487 ElementsAre(Pointee(test_local_form()))); |
479 EXPECT_THAT(passwords_data().federated_credentials_forms(), | 488 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
480 ElementsAre(Pointee(test_federated_form()))); | |
481 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 489 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
482 EXPECT_EQ(origin, passwords_data().origin()); | 490 EXPECT_EQ(origin, passwords_data().origin()); |
483 } | 491 } |
484 | 492 |
485 TEST_F(ManagePasswordsStateTest, AutoSigninToBlacklisted) { | 493 TEST_F(ManagePasswordsStateTest, AutoSigninToBlacklisted) { |
486 ScopedVector<autofill::PasswordForm> local_credentials; | 494 ScopedVector<autofill::PasswordForm> local_credentials; |
487 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 495 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
488 passwords_data().OnAutoSignin(local_credentials.Pass()); | 496 passwords_data().OnAutoSignin(local_credentials.Pass()); |
489 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); | 497 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); |
490 | 498 |
491 // Process the blacklisted form. | 499 // Process the blacklisted form. |
492 autofill::PasswordForm blacklisted = test_local_form(); | 500 autofill::PasswordForm blacklisted = test_local_form(); |
493 blacklisted.blacklisted_by_user = true; | 501 blacklisted.blacklisted_by_user = true; |
494 blacklisted.username_value = base::string16(); | 502 blacklisted.username_value = base::string16(); |
495 password_manager::PasswordStoreChange change( | 503 password_manager::PasswordStoreChange change( |
496 password_manager::PasswordStoreChange::ADD, blacklisted); | 504 password_manager::PasswordStoreChange::ADD, blacklisted); |
497 password_manager::PasswordStoreChangeList list(1, change); | 505 password_manager::PasswordStoreChangeList list(1, change); |
498 passwords_data().ProcessLoginsChanged(list); | 506 passwords_data().ProcessLoginsChanged(list); |
| 507 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 508 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
499 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 509 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
500 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 510 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
501 | 511 |
502 // Delete the blacklisted form. | 512 // Delete the blacklisted form. |
503 list[0] = password_manager::PasswordStoreChange( | 513 list[0] = password_manager::PasswordStoreChange( |
504 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 514 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
505 passwords_data().ProcessLoginsChanged(list); | 515 passwords_data().ProcessLoginsChanged(list); |
506 EXPECT_THAT(passwords_data().GetCurrentForms(), | 516 EXPECT_THAT(passwords_data().GetCurrentForms(), |
507 ElementsAre(Pointee(test_local_form()))); | 517 ElementsAre(Pointee(test_local_form()))); |
508 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 518 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
(...skipping 11 matching lines...) Expand all Loading... |
520 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); | 530 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); |
521 | 531 |
522 // Process the blacklisted form. | 532 // Process the blacklisted form. |
523 autofill::PasswordForm blacklisted = test_local_form(); | 533 autofill::PasswordForm blacklisted = test_local_form(); |
524 blacklisted.blacklisted_by_user = true; | 534 blacklisted.blacklisted_by_user = true; |
525 blacklisted.username_value = base::string16(); | 535 blacklisted.username_value = base::string16(); |
526 password_manager::PasswordStoreChange change( | 536 password_manager::PasswordStoreChange change( |
527 password_manager::PasswordStoreChange::ADD, blacklisted); | 537 password_manager::PasswordStoreChange::ADD, blacklisted); |
528 password_manager::PasswordStoreChangeList list(1, change); | 538 password_manager::PasswordStoreChangeList list(1, change); |
529 passwords_data().ProcessLoginsChanged(list); | 539 passwords_data().ProcessLoginsChanged(list); |
| 540 EXPECT_EQ(*passwords_data().GetCurrentForms()[0], blacklisted); |
530 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 541 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
531 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 542 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
532 | 543 |
533 // Delete the blacklisted form. | 544 // Delete the blacklisted form. |
534 list[0] = password_manager::PasswordStoreChange( | 545 list[0] = password_manager::PasswordStoreChange( |
535 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 546 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
536 passwords_data().ProcessLoginsChanged(list); | 547 passwords_data().ProcessLoginsChanged(list); |
537 EXPECT_THAT(passwords_data().GetCurrentForms(), | 548 EXPECT_THAT(passwords_data().GetCurrentForms(), |
538 UnorderedElementsAre(Pointee(test_local_form()), | 549 UnorderedElementsAre(Pointee(test_local_form()), |
539 Pointee(test_submitted_form()))); | 550 Pointee(test_submitted_form()))); |
(...skipping 10 matching lines...) Expand all Loading... |
550 | 561 |
551 // Process the blacklisted form. | 562 // Process the blacklisted form. |
552 autofill::PasswordForm blacklisted = test_local_form(); | 563 autofill::PasswordForm blacklisted = test_local_form(); |
553 blacklisted.blacklisted_by_user = true; | 564 blacklisted.blacklisted_by_user = true; |
554 blacklisted.username_value = base::string16(); | 565 blacklisted.username_value = base::string16(); |
555 password_manager::PasswordStoreChange change( | 566 password_manager::PasswordStoreChange change( |
556 password_manager::PasswordStoreChange::ADD, blacklisted); | 567 password_manager::PasswordStoreChange::ADD, blacklisted); |
557 password_manager::PasswordStoreChangeList list(1, change); | 568 password_manager::PasswordStoreChangeList list(1, change); |
558 passwords_data().ProcessLoginsChanged(list); | 569 passwords_data().ProcessLoginsChanged(list); |
559 EXPECT_THAT(passwords_data().GetCurrentForms(), | 570 EXPECT_THAT(passwords_data().GetCurrentForms(), |
560 UnorderedElementsAre(Pointee(test_local_form()), | 571 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
561 Pointee(blacklisted))); | |
562 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 572 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
563 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 573 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
564 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 574 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
565 | 575 |
566 // Delete the blacklisted form. | 576 // Delete the blacklisted form. |
567 list[0] = password_manager::PasswordStoreChange( | 577 list[0] = password_manager::PasswordStoreChange( |
568 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 578 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
569 passwords_data().ProcessLoginsChanged(list); | 579 passwords_data().ProcessLoginsChanged(list); |
570 EXPECT_THAT(passwords_data().GetCurrentForms(), | 580 EXPECT_THAT(passwords_data().GetCurrentForms(), |
571 ElementsAre(Pointee(test_local_form()))); | 581 ElementsAre(Pointee(test_local_form()))); |
572 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 582 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
573 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 583 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
574 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 584 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
575 } | 585 } |
576 | 586 |
577 TEST_F(ManagePasswordsStateTest, BlacklistedToAutofilled) { | 587 TEST_F(ManagePasswordsStateTest, BlacklistedToAutofilled) { |
578 autofill::PasswordFormMap password_form_map; | 588 autofill::PasswordFormMap password_form_map; |
579 password_form_map[test_local_form().username_value] = &test_local_form(); | 589 password_form_map[test_local_form().username_value] = &test_local_form(); |
| 590 autofill::PasswordForm blacklisted; |
| 591 blacklisted.blacklisted_by_user = true; |
| 592 blacklisted.origin = GURL("http://example.com/bad"); |
| 593 password_form_map[blacklisted.username_value] = &blacklisted; |
580 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 594 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
581 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 595 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
582 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 596 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
583 | 597 |
584 // Delete the blacklisted form. | 598 // Delete the blacklisted form. |
585 autofill::PasswordForm blacklisted = test_local_form(); | |
586 blacklisted.blacklisted_by_user = true; | |
587 blacklisted.username_value = base::string16(); | |
588 password_manager::PasswordStoreChangeList list; | 599 password_manager::PasswordStoreChangeList list; |
589 list.push_back(password_manager::PasswordStoreChange( | 600 list.push_back(password_manager::PasswordStoreChange( |
590 password_manager::PasswordStoreChange::REMOVE, blacklisted)); | 601 password_manager::PasswordStoreChange::REMOVE, blacklisted)); |
591 passwords_data().ProcessLoginsChanged(list); | 602 passwords_data().ProcessLoginsChanged(list); |
592 EXPECT_THAT(passwords_data().GetCurrentForms(), | 603 EXPECT_THAT(passwords_data().GetCurrentForms(), |
593 ElementsAre(Pointee(test_local_form()))); | 604 ElementsAre(Pointee(test_local_form()))); |
594 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 605 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
595 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 606 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
596 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 607 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
597 } | 608 } |
598 | 609 |
599 } // namespace | 610 } // namespace |
OLD | NEW |