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

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

Issue 1776673003: Fix the password bubble titles for android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months 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 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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698