| 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/strings/string16.h" | 8 #include "base/strings/string16.h" |
| 9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
| 10 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 10 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 explicit MockAutofillDriver(content::WebContents* web_contents) | 39 explicit MockAutofillDriver(content::WebContents* web_contents) |
| 40 : TestAutofillDriver(web_contents) {} | 40 : TestAutofillDriver(web_contents) {} |
| 41 | 41 |
| 42 // Mock methods to enable testability. | 42 // Mock methods to enable testability. |
| 43 MOCK_METHOD1(SetRendererActionOnFormDataReception, | 43 MOCK_METHOD1(SetRendererActionOnFormDataReception, |
| 44 void(RendererFormDataAction action)); | 44 void(RendererFormDataAction action)); |
| 45 MOCK_METHOD1(RendererShouldAcceptDataListSuggestion, | 45 MOCK_METHOD1(RendererShouldAcceptDataListSuggestion, |
| 46 void(const base::string16&)); | 46 void(const base::string16&)); |
| 47 MOCK_METHOD0(RendererShouldClearFilledForm, void()); | 47 MOCK_METHOD0(RendererShouldClearFilledForm, void()); |
| 48 MOCK_METHOD0(RendererShouldClearPreviewedForm, void()); | 48 MOCK_METHOD0(RendererShouldClearPreviewedForm, void()); |
| 49 MOCK_METHOD1(RendererShouldSetNodeText, void(const base::string16&)); |
| 49 | 50 |
| 50 private: | 51 private: |
| 51 DISALLOW_COPY_AND_ASSIGN(MockAutofillDriver); | 52 DISALLOW_COPY_AND_ASSIGN(MockAutofillDriver); |
| 52 }; | 53 }; |
| 53 | 54 |
| 54 class MockAutofillManagerDelegate | 55 class MockAutofillManagerDelegate |
| 55 : public autofill::TestAutofillManagerDelegate { | 56 : public autofill::TestAutofillManagerDelegate { |
| 56 public: | 57 public: |
| 57 MockAutofillManagerDelegate() {} | 58 MockAutofillManagerDelegate() {} |
| 58 | 59 |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 // we've selected an option. | 433 // we've selected an option. |
| 433 external_delegate_->DidAcceptSuggestion( | 434 external_delegate_->DidAcceptSuggestion( |
| 434 suggestions[0], | 435 suggestions[0], |
| 435 WebAutofillClient::MenuItemIDPasswordEntry); | 436 WebAutofillClient::MenuItemIDPasswordEntry); |
| 436 } | 437 } |
| 437 | 438 |
| 438 // Test that the driver is directed to accept the data list after being notified | 439 // Test that the driver is directed to accept the data list after being notified |
| 439 // that the user accepted the data list suggestion. | 440 // that the user accepted the data list suggestion. |
| 440 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateAcceptSuggestion) { | 441 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateAcceptSuggestion) { |
| 441 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 442 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 442 base::string16 dummyString(ASCIIToUTF16("baz qux")); | 443 base::string16 dummy_string(ASCIIToUTF16("baz qux")); |
| 443 EXPECT_CALL(*autofill_driver_, | 444 EXPECT_CALL(*autofill_driver_, |
| 444 RendererShouldAcceptDataListSuggestion(dummyString)); | 445 RendererShouldAcceptDataListSuggestion(dummy_string)); |
| 445 external_delegate_->DidAcceptSuggestion( | 446 external_delegate_->DidAcceptSuggestion( |
| 446 dummyString, | 447 dummy_string, |
| 447 WebAutofillClient::MenuItemIDDataListEntry); | 448 WebAutofillClient::MenuItemIDDataListEntry); |
| 448 } | 449 } |
| 449 | 450 |
| 450 // Test that the driver is directed to clear the form after being notified that | 451 // Test that the driver is directed to clear the form after being notified that |
| 451 // the user accepted the suggestion to clear the form. | 452 // the user accepted the suggestion to clear the form. |
| 452 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateClearForm) { | 453 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateClearForm) { |
| 453 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 454 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 454 EXPECT_CALL(*autofill_driver_, RendererShouldClearFilledForm()); | 455 EXPECT_CALL(*autofill_driver_, RendererShouldClearFilledForm()); |
| 455 | 456 |
| 456 external_delegate_->DidAcceptSuggestion( | 457 external_delegate_->DidAcceptSuggestion( |
| (...skipping 20 matching lines...) Expand all Loading... |
| 477 // anything. | 478 // anything. |
| 478 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); | 479 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 479 | 480 |
| 480 external_delegate_->OnSuggestionsReturned(kQueryId, | 481 external_delegate_->OnSuggestionsReturned(kQueryId, |
| 481 autofill_items, | 482 autofill_items, |
| 482 autofill_items, | 483 autofill_items, |
| 483 autofill_items, | 484 autofill_items, |
| 484 autofill_ids); | 485 autofill_ids); |
| 485 } | 486 } |
| 486 | 487 |
| 488 TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateSetNodeText) { |
| 489 EXPECT_CALL(manager_delegate_, HideAutofillPopup()); |
| 490 base::string16 dummy_string(ASCIIToUTF16("baz foo")); |
| 491 EXPECT_CALL(*autofill_driver_, |
| 492 RendererShouldSetNodeText(dummy_string)); |
| 493 external_delegate_->DidAcceptSuggestion( |
| 494 dummy_string, |
| 495 WebAutofillClient::MenuItemIDAutocompleteEntry); |
| 496 } |
| 497 |
| 487 } // namespace autofill | 498 } // namespace autofill |
| OLD | NEW |