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.h" | 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h" |
10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" | 10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state()); | 102 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state()); |
103 } | 103 } |
104 | 104 |
105 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { | 105 TEST_F(ManagePasswordsUIControllerTest, PasswordSubmitted) { |
106 password_manager::StubPasswordManagerClient client; | 106 password_manager::StubPasswordManagerClient client; |
107 password_manager::StubPasswordManagerDriver driver; | 107 password_manager::StubPasswordManagerDriver driver; |
108 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 108 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
109 new password_manager::PasswordFormManager( | 109 new password_manager::PasswordFormManager( |
110 NULL, &client, driver.AsWeakPtr(), test_form(), false)); | 110 NULL, &client, driver.AsWeakPtr(), test_form(), false)); |
111 controller()->OnPasswordSubmitted(test_form_manager.Pass()); | 111 controller()->OnPasswordSubmitted(test_form_manager.Pass()); |
112 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_AND_BUBBLE_STATE, | 112 EXPECT_EQ(password_manager::ui::PENDING_PASSWORD_STATE, |
113 controller()->state()); | 113 controller()->state()); |
114 EXPECT_TRUE(controller()->PasswordPendingUserDecision()); | 114 EXPECT_TRUE(controller()->PasswordPendingUserDecision()); |
115 | 115 |
116 // TODO(mkwst): This should be the value of test_form().origin, but | 116 // TODO(mkwst): This should be the value of test_form().origin, but |
117 // it's being masked by the stub implementation of | 117 // it's being masked by the stub implementation of |
118 // ManagePasswordsUIControllerMock::PendingCredentials. | 118 // ManagePasswordsUIControllerMock::PendingCredentials. |
119 EXPECT_EQ(GURL::EmptyGURL(), controller()->origin()); | 119 EXPECT_EQ(GURL::EmptyGURL(), controller()->origin()); |
120 | 120 |
121 ManagePasswordsIconMock mock; | 121 ManagePasswordsIconMock mock; |
122 controller()->UpdateIconAndBubbleState(&mock); | 122 controller()->UpdateIconAndBubbleState(&mock); |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 | 324 |
325 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { | 325 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) { |
326 ScopedVector<autofill::PasswordForm> local_credentials; | 326 ScopedVector<autofill::PasswordForm> local_credentials; |
327 local_credentials.push_back(new autofill::PasswordForm(test_form())); | 327 local_credentials.push_back(new autofill::PasswordForm(test_form())); |
328 ScopedVector<autofill::PasswordForm> federated_credentials; | 328 ScopedVector<autofill::PasswordForm> federated_credentials; |
329 GURL origin("http://example.com"); | 329 GURL origin("http://example.com"); |
330 EXPECT_TRUE(controller()->OnChooseCredentials( | 330 EXPECT_TRUE(controller()->OnChooseCredentials( |
331 local_credentials.Pass(), federated_credentials.Pass(), origin, | 331 local_credentials.Pass(), federated_credentials.Pass(), origin, |
332 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 332 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
333 base::Unretained(this)))); | 333 base::Unretained(this)))); |
334 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, | 334 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
335 controller()->state()); | 335 controller()->state()); |
336 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 336 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
337 EXPECT_EQ(origin, controller()->origin()); | 337 EXPECT_EQ(origin, controller()->origin()); |
338 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); | 338 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); |
339 | 339 |
340 ManagePasswordsIconMock mock; | 340 ManagePasswordsIconMock mock; |
341 controller()->UpdateIconAndBubbleState(&mock); | 341 controller()->UpdateIconAndBubbleState(&mock); |
342 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); | 342 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); |
343 | 343 |
344 controller()->ManagePasswordsUIController::ChooseCredential( | 344 controller()->ManagePasswordsUIController::ChooseCredential( |
345 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); | 345 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); |
346 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 346 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
347 ASSERT_TRUE(credential_info()); | 347 ASSERT_TRUE(credential_info()); |
348 EXPECT_EQ(test_form().username_value, credential_info()->id); | 348 EXPECT_EQ(test_form().username_value, credential_info()->id); |
349 EXPECT_EQ(test_form().password_value, credential_info()->password); | 349 EXPECT_EQ(test_form().password_value, credential_info()->password); |
350 EXPECT_TRUE(credential_info()->federation.is_empty()); | 350 EXPECT_TRUE(credential_info()->federation.is_empty()); |
351 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL, | 351 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL, |
352 credential_info()->type); | 352 credential_info()->type); |
353 } | 353 } |
354 | 354 |
355 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) { | 355 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) { |
356 ScopedVector<autofill::PasswordForm> local_credentials; | 356 ScopedVector<autofill::PasswordForm> local_credentials; |
357 ScopedVector<autofill::PasswordForm> federated_credentials; | 357 ScopedVector<autofill::PasswordForm> federated_credentials; |
358 federated_credentials.push_back(new autofill::PasswordForm(test_form())); | 358 federated_credentials.push_back(new autofill::PasswordForm(test_form())); |
359 GURL origin("http://example.com"); | 359 GURL origin("http://example.com"); |
360 EXPECT_TRUE(controller()->OnChooseCredentials( | 360 EXPECT_TRUE(controller()->OnChooseCredentials( |
361 local_credentials.Pass(), federated_credentials.Pass(), origin, | 361 local_credentials.Pass(), federated_credentials.Pass(), origin, |
362 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 362 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
363 base::Unretained(this)))); | 363 base::Unretained(this)))); |
364 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, | 364 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
365 controller()->state()); | 365 controller()->state()); |
366 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 366 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
367 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); | 367 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); |
368 EXPECT_EQ(origin, controller()->origin()); | 368 EXPECT_EQ(origin, controller()->origin()); |
369 | 369 |
370 ManagePasswordsIconMock mock; | 370 ManagePasswordsIconMock mock; |
371 controller()->UpdateIconAndBubbleState(&mock); | 371 controller()->UpdateIconAndBubbleState(&mock); |
372 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); | 372 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); |
373 | 373 |
374 controller()->ManagePasswordsUIController::ChooseCredential( | 374 controller()->ManagePasswordsUIController::ChooseCredential( |
375 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); | 375 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); |
376 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 376 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
377 ASSERT_TRUE(credential_info()); | 377 ASSERT_TRUE(credential_info()); |
378 EXPECT_EQ(test_form().username_value, credential_info()->id); | 378 EXPECT_EQ(test_form().username_value, credential_info()->id); |
379 EXPECT_TRUE(credential_info()->password.empty()); | 379 EXPECT_TRUE(credential_info()->password.empty()); |
380 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, | 380 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, |
381 credential_info()->type); | 381 credential_info()->type); |
382 } | 382 } |
383 | 383 |
384 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { | 384 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { |
385 ScopedVector<autofill::PasswordForm> local_credentials; | 385 ScopedVector<autofill::PasswordForm> local_credentials; |
386 local_credentials.push_back(new autofill::PasswordForm(test_form())); | 386 local_credentials.push_back(new autofill::PasswordForm(test_form())); |
387 ScopedVector<autofill::PasswordForm> federated_credentials; | 387 ScopedVector<autofill::PasswordForm> federated_credentials; |
388 GURL origin("http://example.com"); | 388 GURL origin("http://example.com"); |
389 EXPECT_TRUE(controller()->OnChooseCredentials( | 389 EXPECT_TRUE(controller()->OnChooseCredentials( |
390 local_credentials.Pass(), federated_credentials.Pass(), origin, | 390 local_credentials.Pass(), federated_credentials.Pass(), origin, |
391 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 391 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
392 base::Unretained(this)))); | 392 base::Unretained(this)))); |
393 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, | 393 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
394 controller()->state()); | 394 controller()->state()); |
395 EXPECT_EQ(origin, controller()->origin()); | 395 EXPECT_EQ(origin, controller()->origin()); |
396 controller()->ManagePasswordsUIController::ChooseCredential( | 396 controller()->ManagePasswordsUIController::ChooseCredential( |
397 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); | 397 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); |
398 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 398 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
399 ASSERT_TRUE(credential_info()); | 399 ASSERT_TRUE(credential_info()); |
400 EXPECT_TRUE(credential_info()->federation.is_empty()); | 400 EXPECT_TRUE(credential_info()->federation.is_empty()); |
401 EXPECT_TRUE(credential_info()->password.empty()); | 401 EXPECT_TRUE(credential_info()->password.empty()); |
402 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 402 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
403 credential_info()->type); | 403 credential_info()->type); |
404 } | 404 } |
405 | 405 |
406 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { | 406 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { |
407 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 407 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
408 autofill::PasswordFormMap map; | 408 autofill::PasswordFormMap map; |
409 autofill::PasswordForm psl_matched_test_form = test_form(); | 409 autofill::PasswordForm psl_matched_test_form = test_form(); |
410 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com"; | 410 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com"; |
411 map[kTestUsername] = &psl_matched_test_form; | 411 map[kTestUsername] = &psl_matched_test_form; |
412 controller()->OnPasswordAutofilled(map); | 412 controller()->OnPasswordAutofilled(map); |
413 | 413 |
414 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 414 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
415 } | 415 } |
OLD | NEW |