| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
| 9 #include "base/strings/string16.h" | 9 #include "base/strings/string16.h" |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 // Test that the popup is hidden once we are done editing the autofill field. | 390 // Test that the popup is hidden once we are done editing the autofill field. |
| 391 TEST_F(AutofillExternalDelegateUnitTest, | 391 TEST_F(AutofillExternalDelegateUnitTest, |
| 392 ExternalDelegateHidePopupAfterEditing) { | 392 ExternalDelegateHidePopupAfterEditing) { |
| 393 EXPECT_CALL(manager_delegate_, ShowAutofillPopup(_, _, _, _, _, _, _)); | 393 EXPECT_CALL(manager_delegate_, ShowAutofillPopup(_, _, _, _, _, _, _)); |
| 394 autofill::GenerateTestAutofillPopup(external_delegate_.get()); | 394 autofill::GenerateTestAutofillPopup(external_delegate_.get()); |
| 395 | 395 |
| 396 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 396 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 397 external_delegate_->DidEndTextFieldEditing(); | 397 external_delegate_->DidEndTextFieldEditing(); |
| 398 } | 398 } |
| 399 | 399 |
| 400 // Test that the popup is marked as visible after recieving password | |
| 401 // suggestions. | |
| 402 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegatePasswordSuggestions) { | |
| 403 static const base::string16 kUsername = ASCIIToUTF16("username"); | |
| 404 static const base::string16 kSignonRealm = ASCIIToUTF16("http://foo.com/"); | |
| 405 std::vector<base::string16> suggestions; | |
| 406 suggestions.push_back(kUsername); | |
| 407 std::vector<base::string16> realms; | |
| 408 realms.push_back(kSignonRealm); | |
| 409 | |
| 410 FormFieldData field; | |
| 411 field.is_focusable = true; | |
| 412 field.should_autocomplete = true; | |
| 413 const gfx::RectF element_bounds; | |
| 414 | |
| 415 FormFieldData username_field_data; | |
| 416 username_field_data.value = kUsername; | |
| 417 PasswordFormFillData password_form_fill_data; | |
| 418 password_form_fill_data.basic_data.fields.push_back(username_field_data); | |
| 419 external_delegate_->AddPasswordFormMapping(field, password_form_fill_data); | |
| 420 | |
| 421 // The enums must be cast to ints to prevent compile errors on linux_rel. | |
| 422 EXPECT_CALL( | |
| 423 manager_delegate_, | |
| 424 ShowAutofillPopup( | |
| 425 _, | |
| 426 _, | |
| 427 _, | |
| 428 _, | |
| 429 _, | |
| 430 testing::ElementsAre(static_cast<int>(POPUP_ITEM_ID_PASSWORD_ENTRY)), | |
| 431 _)); | |
| 432 | |
| 433 external_delegate_->OnShowPasswordSuggestions(suggestions, | |
| 434 realms, | |
| 435 field, | |
| 436 element_bounds); | |
| 437 | |
| 438 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | |
| 439 | |
| 440 // This should trigger a call to hide the popup since | |
| 441 // we've selected an option. | |
| 442 external_delegate_->DidAcceptSuggestion(suggestions[0], | |
| 443 POPUP_ITEM_ID_PASSWORD_ENTRY); | |
| 444 } | |
| 445 | |
| 446 // Test that the driver is directed to accept the data list after being notified | 400 // Test that the driver is directed to accept the data list after being notified |
| 447 // that the user accepted the data list suggestion. | 401 // that the user accepted the data list suggestion. |
| 448 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateAcceptSuggestion) { | 402 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateAcceptSuggestion) { |
| 449 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 403 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 450 base::string16 dummy_string(ASCIIToUTF16("baz qux")); | 404 base::string16 dummy_string(ASCIIToUTF16("baz qux")); |
| 451 EXPECT_CALL(*autofill_driver_, | 405 EXPECT_CALL(*autofill_driver_, |
| 452 RendererShouldAcceptDataListSuggestion(dummy_string)); | 406 RendererShouldAcceptDataListSuggestion(dummy_string)); |
| 453 external_delegate_->DidAcceptSuggestion(dummy_string, | 407 external_delegate_->DidAcceptSuggestion(dummy_string, |
| 454 POPUP_ITEM_ID_DATALIST_ENTRY); | 408 POPUP_ITEM_ID_DATALIST_ENTRY); |
| 455 } | 409 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateFillFieldWithValue) { | 447 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateFillFieldWithValue) { |
| 494 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 448 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 495 base::string16 dummy_string(ASCIIToUTF16("baz foo")); | 449 base::string16 dummy_string(ASCIIToUTF16("baz foo")); |
| 496 EXPECT_CALL(*autofill_driver_, | 450 EXPECT_CALL(*autofill_driver_, |
| 497 RendererShouldFillFieldWithValue(dummy_string)); | 451 RendererShouldFillFieldWithValue(dummy_string)); |
| 498 external_delegate_->DidAcceptSuggestion(dummy_string, | 452 external_delegate_->DidAcceptSuggestion(dummy_string, |
| 499 POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY); | 453 POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY); |
| 500 } | 454 } |
| 501 | 455 |
| 502 } // namespace autofill | 456 } // namespace autofill |
| OLD | NEW |