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 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 | 319 |
320 ManagePasswordsIconMock mock; | 320 ManagePasswordsIconMock mock; |
321 controller()->UpdateIconAndBubbleState(&mock); | 321 controller()->UpdateIconAndBubbleState(&mock); |
322 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state()); | 322 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state()); |
323 } | 323 } |
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 EXPECT_TRUE(controller()->OnChooseCredentials( | 330 EXPECT_TRUE(controller()->OnChooseCredentials( |
330 local_credentials.Pass(), | 331 local_credentials.Pass(), federated_credentials.Pass(), origin, |
331 federated_credentials.Pass(), | |
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_AND_BUBBLE_STATE, |
335 controller()->state()); | 335 controller()->state()); |
336 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 336 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
337 EXPECT_EQ(test_form().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 EXPECT_TRUE(controller()->OnChooseCredentials( | 360 EXPECT_TRUE(controller()->OnChooseCredentials( |
360 local_credentials.Pass(), federated_credentials.Pass(), | 361 local_credentials.Pass(), federated_credentials.Pass(), origin, |
361 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 362 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
362 base::Unretained(this)))); | 363 base::Unretained(this)))); |
363 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, | 364 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, |
364 controller()->state()); | 365 controller()->state()); |
365 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); | 366 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); |
366 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); | 367 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); |
| 368 EXPECT_EQ(origin, controller()->origin()); |
367 | 369 |
368 ManagePasswordsIconMock mock; | 370 ManagePasswordsIconMock mock; |
369 controller()->UpdateIconAndBubbleState(&mock); | 371 controller()->UpdateIconAndBubbleState(&mock); |
370 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); | 372 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); |
371 | 373 |
372 controller()->ManagePasswordsUIController::ChooseCredential( | 374 controller()->ManagePasswordsUIController::ChooseCredential( |
373 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); | 375 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED); |
374 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 376 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
375 ASSERT_TRUE(credential_info()); | 377 ASSERT_TRUE(credential_info()); |
376 EXPECT_EQ(test_form().username_value, credential_info()->id); | 378 EXPECT_EQ(test_form().username_value, credential_info()->id); |
377 EXPECT_TRUE(credential_info()->password.empty()); | 379 EXPECT_TRUE(credential_info()->password.empty()); |
378 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, | 380 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED, |
379 credential_info()->type); | 381 credential_info()->type); |
380 } | 382 } |
381 | 383 |
382 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { | 384 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { |
383 ScopedVector<autofill::PasswordForm> local_credentials; | 385 ScopedVector<autofill::PasswordForm> local_credentials; |
384 local_credentials.push_back(new autofill::PasswordForm(test_form())); | 386 local_credentials.push_back(new autofill::PasswordForm(test_form())); |
385 ScopedVector<autofill::PasswordForm> federated_credentials; | 387 ScopedVector<autofill::PasswordForm> federated_credentials; |
| 388 GURL origin("http://example.com"); |
386 EXPECT_TRUE(controller()->OnChooseCredentials( | 389 EXPECT_TRUE(controller()->OnChooseCredentials( |
387 local_credentials.Pass(), | 390 local_credentials.Pass(), federated_credentials.Pass(), origin, |
388 federated_credentials.Pass(), | |
389 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, | 391 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, |
390 base::Unretained(this)))); | 392 base::Unretained(this)))); |
391 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, | 393 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, |
392 controller()->state()); | 394 controller()->state()); |
393 | 395 EXPECT_EQ(origin, controller()->origin()); |
394 controller()->ManagePasswordsUIController::ChooseCredential( | 396 controller()->ManagePasswordsUIController::ChooseCredential( |
395 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); | 397 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY); |
396 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 398 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
397 ASSERT_TRUE(credential_info()); | 399 ASSERT_TRUE(credential_info()); |
398 EXPECT_TRUE(credential_info()->federation.is_empty()); | 400 EXPECT_TRUE(credential_info()->federation.is_empty()); |
399 EXPECT_TRUE(credential_info()->password.empty()); | 401 EXPECT_TRUE(credential_info()->password.empty()); |
400 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 402 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
401 credential_info()->type); | 403 credential_info()->type); |
402 } | 404 } |
403 | 405 |
404 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { | 406 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { |
405 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 407 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
406 autofill::PasswordFormMap map; | 408 autofill::PasswordFormMap map; |
407 autofill::PasswordForm psl_matched_test_form = test_form(); | 409 autofill::PasswordForm psl_matched_test_form = test_form(); |
408 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com"; | 410 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com"; |
409 map[kTestUsername] = &psl_matched_test_form; | 411 map[kTestUsername] = &psl_matched_test_form; |
410 controller()->OnPasswordAutofilled(map); | 412 controller()->OnPasswordAutofilled(map); |
411 | 413 |
412 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); | 414 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); |
413 } | 415 } |
OLD | NEW |