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

Side by Side Diff: components/autofill/content/browser/request_autocomplete_manager_unittest.cc

Issue 306053008: Rename AutofillManagerDelegate to AutofillClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
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 "components/autofill/content/browser/content_autofill_driver.h" 5 #include "components/autofill/content/browser/content_autofill_driver.h"
6 #include "components/autofill/content/browser/request_autocomplete_manager.h" 6 #include "components/autofill/content/browser/request_autocomplete_manager.h"
7 #include "components/autofill/content/common/autofill_messages.h" 7 #include "components/autofill/content/common/autofill_messages.h"
8 #include "components/autofill/core/browser/test_autofill_manager_delegate.h" 8 #include "components/autofill/core/browser/test_autofill_client.h"
9 #include "content/public/test/mock_render_process_host.h" 9 #include "content/public/test/mock_render_process_host.h"
10 #include "content/public/test/test_renderer_host.h" 10 #include "content/public/test/test_renderer_host.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 namespace autofill { 13 namespace autofill {
14 14
15 namespace { 15 namespace {
16 16
17 const char kAppLocale[] = "en-US"; 17 const char kAppLocale[] = "en-US";
18 const AutofillManager::AutofillDownloadManagerState kDownloadState = 18 const AutofillManager::AutofillDownloadManagerState kDownloadState =
19 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER; 19 AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER;
20 20
21 class TestAutofillManager : public AutofillManager { 21 class TestAutofillManager : public AutofillManager {
22 public: 22 public:
23 TestAutofillManager(AutofillDriver* driver, 23 TestAutofillManager(AutofillDriver* driver, AutofillClient* client)
24 AutofillManagerDelegate* delegate) 24 : AutofillManager(driver, client, kAppLocale, kDownloadState),
25 : AutofillManager(driver, delegate, kAppLocale, kDownloadState), 25 autofill_enabled_(true) {}
26 autofill_enabled_(true) {
27 }
28 virtual ~TestAutofillManager() {} 26 virtual ~TestAutofillManager() {}
29 27
30 virtual bool IsAutofillEnabled() const OVERRIDE { return autofill_enabled_; } 28 virtual bool IsAutofillEnabled() const OVERRIDE { return autofill_enabled_; }
31 29
32 void set_autofill_enabled(bool autofill_enabled) { 30 void set_autofill_enabled(bool autofill_enabled) {
33 autofill_enabled_ = autofill_enabled; 31 autofill_enabled_ = autofill_enabled;
34 } 32 }
35 33
36 private: 34 private:
37 bool autofill_enabled_; 35 bool autofill_enabled_;
38 36
39 DISALLOW_COPY_AND_ASSIGN(TestAutofillManager); 37 DISALLOW_COPY_AND_ASSIGN(TestAutofillManager);
40 }; 38 };
41 39
42 class CustomTestAutofillManagerDelegate : public TestAutofillManagerDelegate { 40 class CustomTestAutofillClient : public TestAutofillClient {
43 public: 41 public:
44 CustomTestAutofillManagerDelegate() : should_simulate_success_(true) {} 42 CustomTestAutofillClient() : should_simulate_success_(true) {}
45 43
46 virtual ~CustomTestAutofillManagerDelegate() {} 44 virtual ~CustomTestAutofillClient() {}
47 45
48 virtual void ShowRequestAutocompleteDialog( 46 virtual void ShowRequestAutocompleteDialog(
49 const FormData& form, 47 const FormData& form,
50 const GURL& source_url, 48 const GURL& source_url,
51 const ResultCallback& callback) OVERRIDE { 49 const ResultCallback& callback) OVERRIDE {
52 if (should_simulate_success_) { 50 if (should_simulate_success_) {
53 FormStructure form_structure(form); 51 FormStructure form_structure(form);
54 callback.Run(AutocompleteResultSuccess, 52 callback.Run(
55 base::string16(), 53 AutocompleteResultSuccess, base::string16(), &form_structure);
56 &form_structure); 54 } else {
57 } else { 55 callback.Run(AutofillClient::AutocompleteResultErrorDisabled,
58 callback.Run(AutofillManagerDelegate::AutocompleteResultErrorDisabled, 56 base::string16(),
59 base::string16(), 57 NULL);
60 NULL);
61 }
62 } 58 }
59 }
63 60
64 void set_should_simulate_success(bool should_simulate_success) { 61 void set_should_simulate_success(bool should_simulate_success) {
65 should_simulate_success_ = should_simulate_success; 62 should_simulate_success_ = should_simulate_success;
66 } 63 }
67 64
68 private: 65 private:
69 // Enable testing the path where a callback is called without a 66 // Enable testing the path where a callback is called without a
70 // valid FormStructure. 67 // valid FormStructure.
71 bool should_simulate_success_; 68 bool should_simulate_success_;
72 69
73 DISALLOW_COPY_AND_ASSIGN(CustomTestAutofillManagerDelegate); 70 DISALLOW_COPY_AND_ASSIGN(CustomTestAutofillClient);
74 }; 71 };
75 72
76 class TestContentAutofillDriver : public ContentAutofillDriver { 73 class TestContentAutofillDriver : public ContentAutofillDriver {
77 public: 74 public:
78 TestContentAutofillDriver(content::WebContents* contents, 75 TestContentAutofillDriver(content::WebContents* contents,
79 AutofillManagerDelegate* delegate) 76 AutofillClient* client)
80 : ContentAutofillDriver(contents, delegate, kAppLocale, kDownloadState) { 77 : ContentAutofillDriver(contents, client, kAppLocale, kDownloadState) {
81 SetAutofillManager(make_scoped_ptr<AutofillManager>( 78 SetAutofillManager(make_scoped_ptr<AutofillManager>(
82 new TestAutofillManager(this, delegate))); 79 new TestAutofillManager(this, client)));
83 } 80 }
84 virtual ~TestContentAutofillDriver() {} 81 virtual ~TestContentAutofillDriver() {}
85 82
86 TestAutofillManager* mock_autofill_manager() { 83 TestAutofillManager* mock_autofill_manager() {
87 return static_cast<TestAutofillManager*>(autofill_manager()); 84 return static_cast<TestAutofillManager*>(autofill_manager());
88 } 85 }
89 86
90 using ContentAutofillDriver::DidNavigateMainFrame; 87 using ContentAutofillDriver::DidNavigateMainFrame;
91 88
92 DISALLOW_COPY_AND_ASSIGN(TestContentAutofillDriver); 89 DISALLOW_COPY_AND_ASSIGN(TestContentAutofillDriver);
93 }; 90 };
94 91
95 } // namespace 92 } // namespace
96 93
97 class RequestAutocompleteManagerTest : 94 class RequestAutocompleteManagerTest :
98 public content::RenderViewHostTestHarness { 95 public content::RenderViewHostTestHarness {
99 public: 96 public:
100 RequestAutocompleteManagerTest() {} 97 RequestAutocompleteManagerTest() {}
101 98
102 virtual void SetUp() OVERRIDE { 99 virtual void SetUp() OVERRIDE {
103 content::RenderViewHostTestHarness::SetUp(); 100 content::RenderViewHostTestHarness::SetUp();
104 101
105 driver_.reset( 102 driver_.reset(
106 new TestContentAutofillDriver(web_contents(), &manager_delegate_)); 103 new TestContentAutofillDriver(web_contents(), &autofill_client_));
107 request_autocomplete_manager_.reset( 104 request_autocomplete_manager_.reset(
108 new RequestAutocompleteManager(driver_.get())); 105 new RequestAutocompleteManager(driver_.get()));
109 } 106 }
110 107
111 virtual void TearDown() OVERRIDE { 108 virtual void TearDown() OVERRIDE {
112 // Reset the driver now to cause all pref observers to be removed and avoid 109 // Reset the driver now to cause all pref observers to be removed and avoid
113 // crashes that otherwise occur in the destructor. 110 // crashes that otherwise occur in the destructor.
114 driver_.reset(); 111 driver_.reset();
115 content::RenderViewHostTestHarness::TearDown(); 112 content::RenderViewHostTestHarness::TearDown();
116 } 113 }
(...skipping 12 matching lines...) Expand all
129 return false; 126 return false;
130 Tuple3<blink::WebFormElement::AutocompleteResult, base::string16, FormData> 127 Tuple3<blink::WebFormElement::AutocompleteResult, base::string16, FormData>
131 autofill_param; 128 autofill_param;
132 AutofillMsg_RequestAutocompleteResult::Read(message, &autofill_param); 129 AutofillMsg_RequestAutocompleteResult::Read(message, &autofill_param);
133 *result = autofill_param.a; 130 *result = autofill_param.a;
134 process()->sink().ClearMessages(); 131 process()->sink().ClearMessages();
135 return true; 132 return true;
136 } 133 }
137 134
138 protected: 135 protected:
139 CustomTestAutofillManagerDelegate manager_delegate_; 136 CustomTestAutofillClient autofill_client_;
140 scoped_ptr<TestContentAutofillDriver> driver_; 137 scoped_ptr<TestContentAutofillDriver> driver_;
141 scoped_ptr<RequestAutocompleteManager> request_autocomplete_manager_; 138 scoped_ptr<RequestAutocompleteManager> request_autocomplete_manager_;
142 139
143 DISALLOW_COPY_AND_ASSIGN(RequestAutocompleteManagerTest); 140 DISALLOW_COPY_AND_ASSIGN(RequestAutocompleteManagerTest);
144 }; 141 };
145 142
146 TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteSuccess) { 143 TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteSuccess) {
147 blink::WebFormElement::AutocompleteResult result; 144 blink::WebFormElement::AutocompleteResult result;
148 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL()); 145 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL());
149 EXPECT_TRUE(GetAutocompleteResultMessage(&result)); 146 EXPECT_TRUE(GetAutocompleteResultMessage(&result));
150 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result); 147 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result);
151 } 148 }
152 149
153 TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteCancel) { 150 TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteCancel) {
154 blink::WebFormElement::AutocompleteResult result; 151 blink::WebFormElement::AutocompleteResult result;
155 manager_delegate_.set_should_simulate_success(false); 152 autofill_client_.set_should_simulate_success(false);
156 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL()); 153 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL());
157 EXPECT_TRUE(GetAutocompleteResultMessage(&result)); 154 EXPECT_TRUE(GetAutocompleteResultMessage(&result));
158 EXPECT_EQ(blink::WebFormElement::AutocompleteResultErrorDisabled, result); 155 EXPECT_EQ(blink::WebFormElement::AutocompleteResultErrorDisabled, result);
159 } 156 }
160 157
161 // Disabling autofill doesn't disable the dialog (it just disables the use of 158 // Disabling autofill doesn't disable the dialog (it just disables the use of
162 // autofill in the dialog). 159 // autofill in the dialog).
163 TEST_F(RequestAutocompleteManagerTest, 160 TEST_F(RequestAutocompleteManagerTest,
164 OnRequestAutocompleteWithAutofillDisabled) { 161 OnRequestAutocompleteWithAutofillDisabled) {
165 blink::WebFormElement::AutocompleteResult result; 162 blink::WebFormElement::AutocompleteResult result;
166 driver_->mock_autofill_manager()->set_autofill_enabled(false); 163 driver_->mock_autofill_manager()->set_autofill_enabled(false);
167 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL()); 164 request_autocomplete_manager_->OnRequestAutocomplete(FormData(), GURL());
168 EXPECT_TRUE(GetAutocompleteResultMessage(&result)); 165 EXPECT_TRUE(GetAutocompleteResultMessage(&result));
169 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result); 166 EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result);
170 } 167 }
171 168
172 } // namespace autofill 169 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698