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 "base/bind.h" | 5 #include "base/bind.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/time/time.h" | 8 #include "base/time/time.h" |
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" | 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
118 autofill::PasswordForm blacklisted; | 118 autofill::PasswordForm blacklisted; |
119 blacklisted.origin = this->origin(); | 119 blacklisted.origin = this->origin(); |
120 blacklisted.signon_realm = blacklisted.origin.spec(); | 120 blacklisted.signon_realm = blacklisted.origin.spec(); |
121 blacklisted.blacklisted_by_user = true; | 121 blacklisted.blacklisted_by_user = true; |
122 password_manager::PasswordStoreChange change( | 122 password_manager::PasswordStoreChange change( |
123 password_manager::PasswordStoreChange::ADD, blacklisted); | 123 password_manager::PasswordStoreChange::ADD, blacklisted); |
124 password_manager::PasswordStoreChangeList list(1, change); | 124 password_manager::PasswordStoreChangeList list(1, change); |
125 OnLoginsChanged(list); | 125 OnLoginsChanged(list); |
126 } | 126 } |
127 | 127 |
128 GURL OriginFromPasswordFormMap(const autofill::PasswordFormMap& map) { | |
vabr (Chromium)
2015/10/13 10:45:20
Typing
OriginFromPasswordFormMap(map)
is actuall
melandory
2015/10/13 13:48:16
Done.
| |
129 return map.begin()->second->origin; | |
130 } | |
131 | |
128 } // namespace | 132 } // namespace |
129 | 133 |
130 class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness { | 134 class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness { |
131 public: | 135 public: |
132 ManagePasswordsUIControllerTest() : password_manager_(&client_) {} | 136 ManagePasswordsUIControllerTest() : password_manager_(&client_) {} |
133 | 137 |
134 void SetUp() override { | 138 void SetUp() override { |
135 ChromeRenderViewHostTestHarness::SetUp(); | 139 ChromeRenderViewHostTestHarness::SetUp(); |
136 | 140 |
137 // Create the test UIController here so that it's bound to | 141 // Create the test UIController here so that it's bound to |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
227 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); | 231 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); |
228 } | 232 } |
229 | 233 |
230 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) { | 234 TEST_F(ManagePasswordsUIControllerTest, PasswordAutofilled) { |
231 scoped_ptr<autofill::PasswordForm> test_form( | 235 scoped_ptr<autofill::PasswordForm> test_form( |
232 new autofill::PasswordForm(test_local_form())); | 236 new autofill::PasswordForm(test_local_form())); |
233 autofill::PasswordForm* test_form_ptr = test_form.get(); | 237 autofill::PasswordForm* test_form_ptr = test_form.get(); |
234 base::string16 kTestUsername = test_form->username_value; | 238 base::string16 kTestUsername = test_form->username_value; |
235 autofill::PasswordFormMap map; | 239 autofill::PasswordFormMap map; |
236 map.insert(kTestUsername, test_form.Pass()); | 240 map.insert(kTestUsername, test_form.Pass()); |
237 controller()->OnPasswordAutofilled(map); | 241 controller()->OnPasswordAutofilled(map, OriginFromPasswordFormMap(map)); |
238 | 242 |
239 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); | 243 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); |
240 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 244 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
241 EXPECT_EQ(test_form_ptr->origin, controller()->origin()); | 245 EXPECT_EQ(test_form_ptr->origin, controller()->origin()); |
242 ASSERT_EQ(1u, controller()->GetCurrentForms().size()); | 246 ASSERT_EQ(1u, controller()->GetCurrentForms().size()); |
243 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value); | 247 EXPECT_EQ(kTestUsername, controller()->GetCurrentForms()[0]->username_value); |
244 | 248 |
245 // Controller should store a separate copy of the form as it doesn't own it. | 249 // Controller should store a separate copy of the form as it doesn't own it. |
246 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]); | 250 EXPECT_NE(test_form_ptr, controller()->GetCurrentForms()[0]); |
247 | 251 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
374 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 378 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
375 | 379 |
376 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); | 380 ExpectIconStateIs(password_manager::ui::INACTIVE_STATE); |
377 } | 381 } |
378 | 382 |
379 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { | 383 TEST_F(ManagePasswordsUIControllerTest, BlacklistedElsewhere) { |
380 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 384 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
381 autofill::PasswordFormMap map; | 385 autofill::PasswordFormMap map; |
382 map.insert(kTestUsername, | 386 map.insert(kTestUsername, |
383 make_scoped_ptr(new autofill::PasswordForm(test_local_form()))); | 387 make_scoped_ptr(new autofill::PasswordForm(test_local_form()))); |
384 controller()->OnPasswordAutofilled(map); | 388 controller()->OnPasswordAutofilled(map, OriginFromPasswordFormMap(map)); |
385 | 389 |
386 test_local_form().blacklisted_by_user = true; | 390 test_local_form().blacklisted_by_user = true; |
387 password_manager::PasswordStoreChange change( | 391 password_manager::PasswordStoreChange change( |
388 password_manager::PasswordStoreChange::ADD, test_local_form()); | 392 password_manager::PasswordStoreChange::ADD, test_local_form()); |
389 password_manager::PasswordStoreChangeList list(1, change); | 393 password_manager::PasswordStoreChangeList list(1, change); |
390 controller()->OnLoginsChanged(list); | 394 controller()->OnLoginsChanged(list); |
391 | 395 |
392 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); | 396 EXPECT_EQ(password_manager::ui::MANAGE_STATE, controller()->state()); |
393 EXPECT_EQ(test_local_form().origin, controller()->origin()); | 397 EXPECT_EQ(test_local_form().origin, controller()->origin()); |
394 | 398 |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
554 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { | 558 TEST_F(ManagePasswordsUIControllerTest, AutofillDuringAutoSignin) { |
555 ScopedVector<autofill::PasswordForm> local_credentials; | 559 ScopedVector<autofill::PasswordForm> local_credentials; |
556 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 560 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
557 controller()->OnAutoSignin(local_credentials.Pass()); | 561 controller()->OnAutoSignin(local_credentials.Pass()); |
558 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); | 562 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); |
559 scoped_ptr<autofill::PasswordForm> test_form( | 563 scoped_ptr<autofill::PasswordForm> test_form( |
560 new autofill::PasswordForm(test_local_form())); | 564 new autofill::PasswordForm(test_local_form())); |
561 autofill::PasswordFormMap map; | 565 autofill::PasswordFormMap map; |
562 base::string16 kTestUsername = test_form->username_value; | 566 base::string16 kTestUsername = test_form->username_value; |
563 map.insert(kTestUsername, test_form.Pass()); | 567 map.insert(kTestUsername, test_form.Pass()); |
564 controller()->OnPasswordAutofilled(map); | 568 controller()->OnPasswordAutofilled(map, OriginFromPasswordFormMap(map)); |
565 | 569 |
566 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); | 570 ExpectIconAndControllerStateIs(password_manager::ui::AUTO_SIGNIN_STATE); |
567 } | 571 } |
568 | 572 |
569 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { | 573 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { |
570 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 574 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
571 autofill::PasswordFormMap map; | 575 autofill::PasswordFormMap map; |
572 scoped_ptr<autofill::PasswordForm> psl_matched_test_form( | 576 scoped_ptr<autofill::PasswordForm> psl_matched_test_form( |
573 new autofill::PasswordForm(test_local_form())); | 577 new autofill::PasswordForm(test_local_form())); |
574 psl_matched_test_form->is_public_suffix_match = true; | 578 psl_matched_test_form->is_public_suffix_match = true; |
575 map.insert(kTestUsername, psl_matched_test_form.Pass()); | 579 map.insert(kTestUsername, psl_matched_test_form.Pass()); |
576 controller()->OnPasswordAutofilled(map); | 580 controller()->OnPasswordAutofilled(map, OriginFromPasswordFormMap(map)); |
577 | 581 |
578 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 582 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
579 } | 583 } |
580 | 584 |
581 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) { | 585 TEST_F(ManagePasswordsUIControllerTest, UpdatePasswordSubmitted) { |
582 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 586 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
583 CreateFormManager()); | 587 CreateFormManager()); |
584 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); | 588 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); |
585 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, | 589 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
586 controller()->state()); | 590 controller()->state()); |
587 | 591 |
588 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); | 592 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); |
589 } | 593 } |
590 | 594 |
591 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) { | 595 TEST_F(ManagePasswordsUIControllerTest, PasswordUpdated) { |
592 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 596 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
593 CreateFormManager()); | 597 CreateFormManager()); |
594 test_form_manager->ProvisionallySave( | 598 test_form_manager->ProvisionallySave( |
595 test_local_form(), | 599 test_local_form(), |
596 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 600 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
597 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); | 601 controller()->OnUpdatePasswordSubmitted(test_form_manager.Pass()); |
598 | 602 |
599 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); | 603 ExpectIconStateIs(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE); |
600 controller()->UpdatePassword(autofill::PasswordForm()); | 604 controller()->UpdatePassword(autofill::PasswordForm()); |
601 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); | 605 ExpectIconStateIs(password_manager::ui::MANAGE_STATE); |
602 } | 606 } |
OLD | NEW |