Chromium Code Reviews| 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 <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 53 | 53 |
| 54 passwords_data_.set_client(&stub_client_); | 54 passwords_data_.set_client(&stub_client_); |
| 55 } | 55 } |
| 56 | 56 |
| 57 autofill::PasswordForm& test_local_form() { return test_local_form_; } | 57 autofill::PasswordForm& test_local_form() { return test_local_form_; } |
| 58 autofill::PasswordForm& test_submitted_form() { return test_submitted_form_; } | 58 autofill::PasswordForm& test_submitted_form() { return test_submitted_form_; } |
| 59 autofill::PasswordForm& test_local_federated_form() { | 59 autofill::PasswordForm& test_local_federated_form() { |
| 60 return test_local_federated_form_; | 60 return test_local_federated_form_; |
| 61 } | 61 } |
| 62 autofill::PasswordForm& test_federated_form() { return test_federated_form_; } | 62 autofill::PasswordForm& test_federated_form() { return test_federated_form_; } |
| 63 ScopedVector<autofill::PasswordForm>& test_stored_forms() { | |
| 64 return test_stored_forms_; | |
| 65 } | |
| 63 ManagePasswordsState& passwords_data() { return passwords_data_; } | 66 ManagePasswordsState& passwords_data() { return passwords_data_; } |
| 64 | 67 |
| 65 // Returns a PasswordFormManager containing test_local_form() as a best match. | 68 // Returns a PasswordFormManager containing nothing as a best match. |
|
engedy
2016/03/09 15:33:16
Isn't this the best match out of test_stored_forms
vasilii
2016/03/10 11:11:36
Done.
| |
| 66 scoped_ptr<password_manager::PasswordFormManager> CreateFormManager(); | 69 scoped_ptr<password_manager::PasswordFormManager> CreateFormManager(); |
| 67 | 70 |
| 68 // Returns a PasswordFormManager containing test_local_form() as a best match | 71 // Returns a PasswordFormManager containing test_federated_form() as a stored |
| 69 // and test_federated_form() as a stored federated credential. | 72 // federated credential. |
| 70 scoped_ptr<password_manager::PasswordFormManager> | 73 scoped_ptr<password_manager::PasswordFormManager> |
| 71 CreateFormManagerWithFederation(); | 74 CreateFormManagerWithFederation(); |
| 72 | 75 |
| 73 // Pushes irrelevant updates to |passwords_data_| and checks that they don't | 76 // Pushes irrelevant updates to |passwords_data_| and checks that they don't |
| 74 // affect the state. | 77 // affect the state. |
| 75 void TestNoisyUpdates(); | 78 void TestNoisyUpdates(); |
| 76 | 79 |
| 77 // Pushes both relevant and irrelevant updates to |passwords_data_|. | 80 // Pushes both relevant and irrelevant updates to |passwords_data_|. |
| 78 void TestAllUpdates(); | 81 void TestAllUpdates(); |
| 79 | 82 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 90 | 93 |
| 91 password_manager::StubPasswordManagerClient stub_client_; | 94 password_manager::StubPasswordManagerClient stub_client_; |
| 92 password_manager::StubPasswordManagerDriver driver_; | 95 password_manager::StubPasswordManagerDriver driver_; |
| 93 password_manager::PasswordManager password_manager_; | 96 password_manager::PasswordManager password_manager_; |
| 94 | 97 |
| 95 ManagePasswordsState passwords_data_; | 98 ManagePasswordsState passwords_data_; |
| 96 autofill::PasswordForm test_local_form_; | 99 autofill::PasswordForm test_local_form_; |
| 97 autofill::PasswordForm test_submitted_form_; | 100 autofill::PasswordForm test_submitted_form_; |
| 98 autofill::PasswordForm test_local_federated_form_; | 101 autofill::PasswordForm test_local_federated_form_; |
| 99 autofill::PasswordForm test_federated_form_; | 102 autofill::PasswordForm test_federated_form_; |
| 103 ScopedVector<autofill::PasswordForm> test_stored_forms_; | |
| 100 }; | 104 }; |
| 101 | 105 |
| 102 scoped_ptr<password_manager::PasswordFormManager> | 106 scoped_ptr<password_manager::PasswordFormManager> |
| 103 ManagePasswordsStateTest::CreateFormManager() { | 107 ManagePasswordsStateTest::CreateFormManager() { |
| 104 return CreateFormManagerInternal(false); | 108 return CreateFormManagerInternal(false); |
| 105 } | 109 } |
| 106 | 110 |
| 107 scoped_ptr<password_manager::PasswordFormManager> | 111 scoped_ptr<password_manager::PasswordFormManager> |
| 108 ManagePasswordsStateTest::CreateFormManagerWithFederation() { | 112 ManagePasswordsStateTest::CreateFormManagerWithFederation() { |
| 109 return CreateFormManagerInternal(true); | 113 return CreateFormManagerInternal(true); |
| 110 } | 114 } |
| 111 | 115 |
| 112 scoped_ptr<password_manager::PasswordFormManager> | 116 scoped_ptr<password_manager::PasswordFormManager> |
| 113 ManagePasswordsStateTest::CreateFormManagerInternal(bool include_federated) { | 117 ManagePasswordsStateTest::CreateFormManagerInternal(bool include_federated) { |
| 114 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 118 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 115 new password_manager::PasswordFormManager( | 119 new password_manager::PasswordFormManager( |
| 116 &password_manager_, &stub_client_, driver_.AsWeakPtr(), | 120 &password_manager_, &stub_client_, driver_.AsWeakPtr(), |
| 117 test_local_form(), false)); | 121 test_local_form(), false)); |
| 118 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore(); | 122 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore(); |
| 119 ScopedVector<autofill::PasswordForm> stored_forms; | |
| 120 stored_forms.push_back(new autofill::PasswordForm(test_local_form())); | |
| 121 if (include_federated) { | 123 if (include_federated) { |
| 122 stored_forms.push_back( | 124 test_stored_forms().push_back( |
| 123 new autofill::PasswordForm(test_local_federated_form())); | 125 new autofill::PasswordForm(test_local_federated_form())); |
| 124 } | 126 } |
| 125 test_form_manager->OnGetPasswordStoreResults(std::move(stored_forms)); | 127 test_form_manager->OnGetPasswordStoreResults(std::move(test_stored_forms())); |
|
engedy
2016/03/09 15:33:16
nit: Getting a reference to a vector, and then ste
vasilii
2016/03/10 11:11:36
Done.
| |
| 126 EXPECT_EQ(1u, test_form_manager->best_matches().size()); | |
| 127 EXPECT_EQ(test_local_form(), | |
| 128 *test_form_manager->best_matches().begin()->second); | |
| 129 EXPECT_EQ(include_federated ? 1u : 0u, | 128 EXPECT_EQ(include_federated ? 1u : 0u, |
| 130 test_form_manager->federated_matches().size()); | 129 test_form_manager->federated_matches().size()); |
| 131 if (include_federated) { | 130 if (include_federated) { |
| 132 EXPECT_EQ(test_local_federated_form(), | 131 EXPECT_EQ(test_local_federated_form(), |
| 133 *test_form_manager->federated_matches().front()); | 132 *test_form_manager->federated_matches().front()); |
| 134 } | 133 } |
| 135 return test_form_manager; | 134 return test_form_manager; |
| 136 } | 135 } |
| 137 | 136 |
| 138 void ManagePasswordsStateTest::TestNoisyUpdates() { | 137 void ManagePasswordsStateTest::TestNoisyUpdates() { |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 258 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); | 257 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); |
| 259 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 258 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 260 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); | 259 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); |
| 261 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); | 260 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); |
| 262 EXPECT_FALSE(passwords_data().form_manager()); | 261 EXPECT_FALSE(passwords_data().form_manager()); |
| 263 | 262 |
| 264 TestNoisyUpdates(); | 263 TestNoisyUpdates(); |
| 265 } | 264 } |
| 266 | 265 |
| 267 TEST_F(ManagePasswordsStateTest, PasswordSubmitted) { | 266 TEST_F(ManagePasswordsStateTest, PasswordSubmitted) { |
| 267 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); | |
| 268 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 268 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 269 CreateFormManager()); | 269 CreateFormManager()); |
| 270 test_form_manager->ProvisionallySave( | 270 test_form_manager->ProvisionallySave( |
| 271 test_submitted_form(), | 271 test_submitted_form(), |
| 272 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 272 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 273 passwords_data().OnPendingPassword(std::move(test_form_manager)); | 273 passwords_data().OnPendingPassword(std::move(test_form_manager)); |
| 274 | 274 |
| 275 EXPECT_THAT(passwords_data().GetCurrentForms(), | 275 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 276 ElementsAre(Pointee(test_local_form()))); | 276 ElementsAre(Pointee(test_local_form()))); |
| 277 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 277 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 278 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, | 278 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
| 279 passwords_data().state()); | 279 passwords_data().state()); |
| 280 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | 280 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); |
| 281 ASSERT_TRUE(passwords_data().form_manager()); | 281 ASSERT_TRUE(passwords_data().form_manager()); |
| 282 EXPECT_EQ(test_submitted_form(), | 282 EXPECT_EQ(test_submitted_form(), |
| 283 passwords_data().form_manager()->pending_credentials()); | 283 passwords_data().form_manager()->pending_credentials()); |
| 284 TestAllUpdates(); | 284 TestAllUpdates(); |
| 285 } | 285 } |
| 286 | 286 |
| 287 TEST_F(ManagePasswordsStateTest, PasswordSaved) { | 287 TEST_F(ManagePasswordsStateTest, PasswordSaved) { |
| 288 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); | |
| 288 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 289 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 289 CreateFormManager()); | 290 CreateFormManager()); |
| 290 test_form_manager->ProvisionallySave( | 291 test_form_manager->ProvisionallySave( |
| 291 test_submitted_form(), | 292 test_submitted_form(), |
| 292 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 293 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 293 passwords_data().OnPendingPassword(std::move(test_form_manager)); | 294 passwords_data().OnPendingPassword(std::move(test_form_manager)); |
| 294 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, | 295 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
| 295 passwords_data().state()); | 296 passwords_data().state()); |
| 296 | 297 |
| 297 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 298 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
| 298 EXPECT_THAT(passwords_data().GetCurrentForms(), | 299 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 299 ElementsAre(Pointee(test_local_form()))); | 300 ElementsAre(Pointee(test_local_form()))); |
| 300 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 301 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 301 EXPECT_EQ(password_manager::ui::MANAGE_STATE, | 302 EXPECT_EQ(password_manager::ui::MANAGE_STATE, |
| 302 passwords_data().state()); | 303 passwords_data().state()); |
| 303 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | 304 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); |
| 304 TestAllUpdates(); | 305 TestAllUpdates(); |
| 305 } | 306 } |
| 306 | 307 |
| 307 TEST_F(ManagePasswordsStateTest, PasswordSubmittedFederationsPresent) { | 308 TEST_F(ManagePasswordsStateTest, PasswordSubmittedFederationsPresent) { |
| 308 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 309 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 309 CreateFormManagerWithFederation()); | 310 CreateFormManagerWithFederation()); |
| 310 test_form_manager->ProvisionallySave( | 311 test_form_manager->ProvisionallySave( |
| 311 test_submitted_form(), | 312 test_submitted_form(), |
| 312 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 313 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 313 passwords_data().OnPendingPassword(std::move(test_form_manager)); | 314 passwords_data().OnPendingPassword(std::move(test_form_manager)); |
| 314 | 315 |
| 315 EXPECT_THAT(passwords_data().GetCurrentForms(), | 316 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 316 UnorderedElementsAre(Pointee(test_local_form()), | 317 ElementsAre(Pointee(test_local_federated_form()))); |
| 317 Pointee(test_local_federated_form()))); | |
| 318 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 318 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 319 } | 319 } |
| 320 | 320 |
| 321 TEST_F(ManagePasswordsStateTest, OnRequestCredentials) { | 321 TEST_F(ManagePasswordsStateTest, OnRequestCredentials) { |
| 322 ScopedVector<autofill::PasswordForm> local_credentials; | 322 ScopedVector<autofill::PasswordForm> local_credentials; |
| 323 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 323 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
| 324 ScopedVector<autofill::PasswordForm> federated_credentials; | 324 ScopedVector<autofill::PasswordForm> federated_credentials; |
| 325 federated_credentials.push_back( | 325 federated_credentials.push_back( |
| 326 new autofill::PasswordForm(test_federated_form())); | 326 new autofill::PasswordForm(test_federated_form())); |
| 327 const GURL origin = test_local_form().origin; | 327 const GURL origin = test_local_form().origin; |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 351 ElementsAre(Pointee(test_local_form()))); | 351 ElementsAre(Pointee(test_local_form()))); |
| 352 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 352 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 353 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 353 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 354 EXPECT_EQ(origin, passwords_data().origin()); | 354 EXPECT_EQ(origin, passwords_data().origin()); |
| 355 TestAllUpdates(); | 355 TestAllUpdates(); |
| 356 } | 356 } |
| 357 | 357 |
| 358 TEST_F(ManagePasswordsStateTest, AutoSignin) { | 358 TEST_F(ManagePasswordsStateTest, AutoSignin) { |
| 359 ScopedVector<autofill::PasswordForm> local_credentials; | 359 ScopedVector<autofill::PasswordForm> local_credentials; |
| 360 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 360 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
| 361 passwords_data().OnAutoSignin(std::move(local_credentials)); | 361 passwords_data().OnAutoSignin(std::move(local_credentials), |
| 362 test_local_form().origin); | |
| 362 EXPECT_THAT(passwords_data().GetCurrentForms(), | 363 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 363 ElementsAre(Pointee(test_local_form()))); | 364 ElementsAre(Pointee(test_local_form()))); |
| 364 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 365 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 365 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); | 366 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); |
| 366 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 367 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 367 TestAllUpdates(); | 368 TestAllUpdates(); |
| 368 | 369 |
| 369 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 370 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
| 370 EXPECT_THAT(passwords_data().GetCurrentForms(), | 371 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 371 ElementsAre(Pointee(test_local_form()))); | 372 ElementsAre(Pointee(test_local_form()))); |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 385 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); | 386 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); |
| 386 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); | 387 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); |
| 387 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | 388 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); |
| 388 ASSERT_TRUE(passwords_data().form_manager()); | 389 ASSERT_TRUE(passwords_data().form_manager()); |
| 389 EXPECT_EQ(test_submitted_form(), | 390 EXPECT_EQ(test_submitted_form(), |
| 390 passwords_data().form_manager()->pending_credentials()); | 391 passwords_data().form_manager()->pending_credentials()); |
| 391 TestAllUpdates(); | 392 TestAllUpdates(); |
| 392 | 393 |
| 393 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 394 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
| 394 EXPECT_THAT(passwords_data().GetCurrentForms(), | 395 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 395 UnorderedElementsAre(Pointee(test_local_form()), | 396 ElementsAre(Pointee(test_submitted_form()))); |
| 396 Pointee(test_submitted_form()))); | |
| 397 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 397 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 398 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 398 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 399 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | 399 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); |
| 400 TestAllUpdates(); | 400 TestAllUpdates(); |
| 401 } | 401 } |
| 402 | 402 |
| 403 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveWithFederations) { | 403 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveWithFederations) { |
| 404 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 404 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 405 CreateFormManagerWithFederation()); | 405 CreateFormManagerWithFederation()); |
| 406 test_form_manager->ProvisionallySave( | 406 test_form_manager->ProvisionallySave( |
| 407 test_submitted_form(), | 407 test_submitted_form(), |
| 408 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 408 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 409 | 409 |
| 410 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); | 410 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); |
| 411 EXPECT_THAT(passwords_data().GetCurrentForms(), | 411 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 412 UnorderedElementsAre(Pointee(test_local_form()), | 412 UnorderedElementsAre(Pointee(test_submitted_form()), |
| 413 Pointee(test_submitted_form()), | |
| 414 Pointee(test_local_federated_form()))); | 413 Pointee(test_local_federated_form()))); |
| 415 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 414 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 416 } | 415 } |
| 417 | 416 |
| 418 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) { | 417 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) { |
| 419 autofill::PasswordFormMap password_form_map; | 418 autofill::PasswordFormMap password_form_map; |
| 420 password_form_map.insert(std::make_pair( | 419 password_form_map.insert(std::make_pair( |
| 421 test_local_form().username_value, | 420 test_local_form().username_value, |
| 422 make_scoped_ptr(new autofill::PasswordForm(test_local_form())))); | 421 make_scoped_ptr(new autofill::PasswordForm(test_local_form())))); |
| 423 GURL origin("https://example.com"); | 422 GURL origin("https://example.com"); |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 542 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); | 541 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); |
| 543 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, | 542 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
| 544 passwords_data().state()); | 543 passwords_data().state()); |
| 545 | 544 |
| 546 TestBlacklistedUpdates(); | 545 TestBlacklistedUpdates(); |
| 547 } | 546 } |
| 548 | 547 |
| 549 TEST_F(ManagePasswordsStateTest, AutoSigninAddBlacklisted) { | 548 TEST_F(ManagePasswordsStateTest, AutoSigninAddBlacklisted) { |
| 550 ScopedVector<autofill::PasswordForm> local_credentials; | 549 ScopedVector<autofill::PasswordForm> local_credentials; |
| 551 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 550 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
| 552 passwords_data().OnAutoSignin(std::move(local_credentials)); | 551 passwords_data().OnAutoSignin(std::move(local_credentials), |
| 552 test_local_form().origin); | |
| 553 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); | 553 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); |
| 554 | 554 |
| 555 TestBlacklistedUpdates(); | 555 TestBlacklistedUpdates(); |
| 556 } | 556 } |
| 557 | 557 |
| 558 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveAddBlacklisted) { | 558 TEST_F(ManagePasswordsStateTest, AutomaticPasswordSaveAddBlacklisted) { |
| 559 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 559 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 560 CreateFormManager()); | 560 CreateFormManager()); |
| 561 test_form_manager->ProvisionallySave( | 561 test_form_manager->ProvisionallySave( |
| 562 test_submitted_form(), | 562 test_submitted_form(), |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 586 test_submitted_form(), | 586 test_submitted_form(), |
| 587 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 587 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 588 passwords_data().OnUpdatePassword(std::move(test_form_manager)); | 588 passwords_data().OnUpdatePassword(std::move(test_form_manager)); |
| 589 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, | 589 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
| 590 passwords_data().state()); | 590 passwords_data().state()); |
| 591 | 591 |
| 592 TestBlacklistedUpdates(); | 592 TestBlacklistedUpdates(); |
| 593 } | 593 } |
| 594 | 594 |
| 595 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmitted) { | 595 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmitted) { |
| 596 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); | |
| 596 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 597 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 597 CreateFormManager()); | 598 CreateFormManager()); |
| 598 test_form_manager->ProvisionallySave( | 599 test_form_manager->ProvisionallySave( |
| 599 test_submitted_form(), | 600 test_submitted_form(), |
| 600 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 601 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 601 passwords_data().OnUpdatePassword(std::move(test_form_manager)); | 602 passwords_data().OnUpdatePassword(std::move(test_form_manager)); |
| 602 | 603 |
| 603 EXPECT_THAT(passwords_data().GetCurrentForms(), | 604 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 604 ElementsAre(Pointee(test_local_form()))); | 605 ElementsAre(Pointee(test_local_form()))); |
| 605 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 606 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 606 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, | 607 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, |
| 607 passwords_data().state()); | 608 passwords_data().state()); |
| 608 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | 609 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); |
| 609 ASSERT_TRUE(passwords_data().form_manager()); | 610 ASSERT_TRUE(passwords_data().form_manager()); |
| 610 EXPECT_EQ(test_submitted_form(), | 611 EXPECT_EQ(test_submitted_form(), |
| 611 passwords_data().form_manager()->pending_credentials()); | 612 passwords_data().form_manager()->pending_credentials()); |
| 612 TestAllUpdates(); | 613 TestAllUpdates(); |
| 613 } | 614 } |
| 614 | 615 |
| 616 TEST_F(ManagePasswordsStateTest, AndroidPasswordUpdateSubmitted) { | |
| 617 autofill::PasswordForm android_form; | |
| 618 android_form.signon_realm = "android://dHJhc2g=@com.example.android/"; | |
| 619 android_form.origin = GURL(android_form.signon_realm); | |
| 620 android_form.username_value = test_submitted_form().username_value; | |
| 621 android_form.password_value = base::ASCIIToUTF16("old pass"); | |
| 622 test_stored_forms().push_back(new autofill::PasswordForm(android_form)); | |
| 623 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | |
| 624 CreateFormManager()); | |
| 625 test_form_manager->ProvisionallySave( | |
| 626 test_submitted_form(), | |
| 627 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | |
| 628 passwords_data().OnUpdatePassword(std::move(test_form_manager)); | |
| 629 | |
| 630 EXPECT_THAT(passwords_data().GetCurrentForms(), | |
| 631 ElementsAre(Pointee(android_form))); | |
| 632 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | |
| 633 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_UPDATE_STATE, | |
| 634 passwords_data().state()); | |
| 635 EXPECT_EQ(test_submitted_form().origin, passwords_data().origin()); | |
| 636 ASSERT_TRUE(passwords_data().form_manager()); | |
| 637 android_form.password_value = test_submitted_form().password_value; | |
| 638 EXPECT_EQ(android_form, | |
| 639 passwords_data().form_manager()->pending_credentials()); | |
| 640 TestAllUpdates(); | |
| 641 } | |
| 642 | |
| 615 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmittedWithFederations) { | 643 TEST_F(ManagePasswordsStateTest, PasswordUpdateSubmittedWithFederations) { |
| 644 test_stored_forms().push_back(new autofill::PasswordForm(test_local_form())); | |
| 616 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 645 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 617 CreateFormManagerWithFederation()); | 646 CreateFormManagerWithFederation()); |
| 618 test_form_manager->ProvisionallySave( | 647 test_form_manager->ProvisionallySave( |
| 619 test_submitted_form(), | 648 test_submitted_form(), |
| 620 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 649 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 621 passwords_data().OnUpdatePassword(std::move(test_form_manager)); | 650 passwords_data().OnUpdatePassword(std::move(test_form_manager)); |
| 622 | 651 |
| 623 EXPECT_THAT(passwords_data().GetCurrentForms(), | 652 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 624 UnorderedElementsAre(Pointee(test_local_form()), | 653 UnorderedElementsAre(Pointee(test_local_form()), |
| 625 Pointee(test_local_federated_form()))); | 654 Pointee(test_local_federated_form()))); |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 681 passwords_data().set_credentials_callback(base::Bind( | 710 passwords_data().set_credentials_callback(base::Bind( |
| 682 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); | 711 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); |
| 683 password_manager::CredentialInfo credential_info( | 712 password_manager::CredentialInfo credential_info( |
| 684 form, password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); | 713 form, password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); |
| 685 EXPECT_CALL(*this, CredentialCallback(credential_info)); | 714 EXPECT_CALL(*this, CredentialCallback(credential_info)); |
| 686 passwords_data().ChooseCredential( | 715 passwords_data().ChooseCredential( |
| 687 form, password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); | 716 form, password_manager::CredentialType::CREDENTIAL_TYPE_PASSWORD); |
| 688 } | 717 } |
| 689 | 718 |
| 690 } // namespace | 719 } // namespace |
| OLD | NEW |