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

Side by Side Diff: chrome/renderer/autofill/autofill_renderer_browsertest.cc

Issue 1159553007: Move Tuple to base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/command_line.h" 5 #include "base/command_line.h"
6 #include "base/files/file_util.h" 6 #include "base/files/file_util.h"
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/test/base/chrome_render_view_test.h" 9 #include "chrome/test/base/chrome_render_view_test.h"
10 #include "chrome/test/base/ui_test_utils.h" 10 #include "chrome/test/base/ui_test_utils.h"
(...skipping 19 matching lines...) Expand all
30 using blink::WebFormElement; 30 using blink::WebFormElement;
31 using blink::WebFrame; 31 using blink::WebFrame;
32 using blink::WebLocalFrame; 32 using blink::WebLocalFrame;
33 using blink::WebInputElement; 33 using blink::WebInputElement;
34 using blink::WebString; 34 using blink::WebString;
35 using blink::WebURLRequest; 35 using blink::WebURLRequest;
36 using blink::WebVector; 36 using blink::WebVector;
37 37
38 namespace autofill { 38 namespace autofill {
39 39
40 typedef Tuple<int, autofill::FormData, autofill::FormFieldData, gfx::RectF> 40 typedef base::Tuple<int, autofill::FormData, autofill::FormFieldData,
41 AutofillQueryParam; 41 gfx::RectF> AutofillQueryParam;
42 42
43 class AutofillRendererTest : public ChromeRenderViewTest { 43 class AutofillRendererTest : public ChromeRenderViewTest {
44 public: 44 public:
45 AutofillRendererTest() {} 45 AutofillRendererTest() {}
46 ~AutofillRendererTest() override {} 46 ~AutofillRendererTest() override {}
47 47
48 protected: 48 protected:
49 void SetUp() override { 49 void SetUp() override {
50 ChromeRenderViewTest::SetUp(); 50 ChromeRenderViewTest::SetUp();
51 51
(...skipping 27 matching lines...) Expand all
79 " <option>Texas</option>" 79 " <option>Texas</option>"
80 " </select>" 80 " </select>"
81 "</form>"); 81 "</form>");
82 82
83 // Verify that "FormsSeen" sends the expected number of fields. 83 // Verify that "FormsSeen" sends the expected number of fields.
84 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 84 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
85 AutofillHostMsg_FormsSeen::ID); 85 AutofillHostMsg_FormsSeen::ID);
86 ASSERT_NE(nullptr, message); 86 ASSERT_NE(nullptr, message);
87 AutofillHostMsg_FormsSeen::Param params; 87 AutofillHostMsg_FormsSeen::Param params;
88 AutofillHostMsg_FormsSeen::Read(message, &params); 88 AutofillHostMsg_FormsSeen::Read(message, &params);
89 std::vector<FormData> forms = get<0>(params); 89 std::vector<FormData> forms = base::get<0>(params);
90 ASSERT_EQ(1UL, forms.size()); 90 ASSERT_EQ(1UL, forms.size());
91 ASSERT_EQ(4UL, forms[0].fields.size()); 91 ASSERT_EQ(4UL, forms[0].fields.size());
92 92
93 FormFieldData expected; 93 FormFieldData expected;
94 94
95 expected.name = ASCIIToUTF16("firstname"); 95 expected.name = ASCIIToUTF16("firstname");
96 expected.value = base::string16(); 96 expected.value = base::string16();
97 expected.form_control_type = "text"; 97 expected.form_control_type = "text";
98 expected.max_length = WebInputElement::defaultMaxLength(); 98 expected.max_length = WebInputElement::defaultMaxLength();
99 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[0]); 99 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[0]);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 "newForm.appendChild(newFirstname);" 142 "newForm.appendChild(newFirstname);"
143 "newForm.appendChild(newLastname);" 143 "newForm.appendChild(newLastname);"
144 "newForm.appendChild(newEmail);" 144 "newForm.appendChild(newEmail);"
145 "document.body.appendChild(newForm);"); 145 "document.body.appendChild(newForm);");
146 msg_loop_.RunUntilIdle(); 146 msg_loop_.RunUntilIdle();
147 147
148 message = render_thread_->sink().GetFirstMessageMatching( 148 message = render_thread_->sink().GetFirstMessageMatching(
149 AutofillHostMsg_FormsSeen::ID); 149 AutofillHostMsg_FormsSeen::ID);
150 ASSERT_NE(nullptr, message); 150 ASSERT_NE(nullptr, message);
151 AutofillHostMsg_FormsSeen::Read(message, &params); 151 AutofillHostMsg_FormsSeen::Read(message, &params);
152 forms = get<0>(params); 152 forms = base::get<0>(params);
153 ASSERT_EQ(1UL, forms.size()); 153 ASSERT_EQ(1UL, forms.size());
154 ASSERT_EQ(3UL, forms[0].fields.size()); 154 ASSERT_EQ(3UL, forms[0].fields.size());
155 155
156 expected.form_control_type = "text"; 156 expected.form_control_type = "text";
157 expected.max_length = WebInputElement::defaultMaxLength(); 157 expected.max_length = WebInputElement::defaultMaxLength();
158 158
159 expected.name = ASCIIToUTF16("second_firstname"); 159 expected.name = ASCIIToUTF16("second_firstname");
160 expected.value = ASCIIToUTF16("Bob"); 160 expected.value = ASCIIToUTF16("Bob");
161 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[0]); 161 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[0]);
162 162
(...skipping 11 matching lines...) Expand all
174 " <input type='text' id='firstname'/>" 174 " <input type='text' id='firstname'/>"
175 " <input type='text' id='middlename'/>" 175 " <input type='text' id='middlename'/>"
176 "</form>"); 176 "</form>");
177 177
178 // Verify that "FormsSeen" isn't sent, as there are too few fields. 178 // Verify that "FormsSeen" isn't sent, as there are too few fields.
179 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 179 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
180 AutofillHostMsg_FormsSeen::ID); 180 AutofillHostMsg_FormsSeen::ID);
181 ASSERT_NE(nullptr, message); 181 ASSERT_NE(nullptr, message);
182 AutofillHostMsg_FormsSeen::Param params; 182 AutofillHostMsg_FormsSeen::Param params;
183 AutofillHostMsg_FormsSeen::Read(message, &params); 183 AutofillHostMsg_FormsSeen::Read(message, &params);
184 const std::vector<FormData>& forms = get<0>(params); 184 const std::vector<FormData>& forms = base::get<0>(params);
185 ASSERT_EQ(0UL, forms.size()); 185 ASSERT_EQ(0UL, forms.size());
186 } 186 }
187 187
188 // Regression test for [ http://crbug.com/346010 ]. 188 // Regression test for [ http://crbug.com/346010 ].
189 TEST_F(AutofillRendererTest, DontCrashWhileAssociatingForms) { 189 TEST_F(AutofillRendererTest, DontCrashWhileAssociatingForms) {
190 LoadHTML("<form id='form'>" 190 LoadHTML("<form id='form'>"
191 "<foo id='foo'>" 191 "<foo id='foo'>"
192 "<script id='script'>" 192 "<script id='script'>"
193 "document.documentElement.appendChild(foo);" 193 "document.documentElement.appendChild(foo);"
194 "newDoc = document.implementation.createDocument(" 194 "newDoc = document.implementation.createDocument("
(...skipping 12 matching lines...) Expand all
207 base::FilePath(FILE_PATH_LITERAL("autofill_noform_dynamic.html"))); 207 base::FilePath(FILE_PATH_LITERAL("autofill_noform_dynamic.html")));
208 ASSERT_TRUE(base::ReadFileToString(test_path, &html_data)); 208 ASSERT_TRUE(base::ReadFileToString(test_path, &html_data));
209 LoadHTML(html_data.c_str()); 209 LoadHTML(html_data.c_str());
210 210
211 // Verify that "FormsSeen" sends the expected number of fields. 211 // Verify that "FormsSeen" sends the expected number of fields.
212 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching( 212 const IPC::Message* message = render_thread_->sink().GetFirstMessageMatching(
213 AutofillHostMsg_FormsSeen::ID); 213 AutofillHostMsg_FormsSeen::ID);
214 ASSERT_NE(nullptr, message); 214 ASSERT_NE(nullptr, message);
215 AutofillHostMsg_FormsSeen::Param params; 215 AutofillHostMsg_FormsSeen::Param params;
216 AutofillHostMsg_FormsSeen::Read(message, &params); 216 AutofillHostMsg_FormsSeen::Read(message, &params);
217 std::vector<FormData> forms = get<0>(params); 217 std::vector<FormData> forms = base::get<0>(params);
218 ASSERT_EQ(1UL, forms.size()); 218 ASSERT_EQ(1UL, forms.size());
219 ASSERT_EQ(7UL, forms[0].fields.size()); 219 ASSERT_EQ(7UL, forms[0].fields.size());
220 220
221 render_thread_->sink().ClearMessages(); 221 render_thread_->sink().ClearMessages();
222 222
223 ExecuteJavaScript("AddFields()"); 223 ExecuteJavaScript("AddFields()");
224 msg_loop_.RunUntilIdle(); 224 msg_loop_.RunUntilIdle();
225 225
226 message = render_thread_->sink().GetFirstMessageMatching( 226 message = render_thread_->sink().GetFirstMessageMatching(
227 AutofillHostMsg_FormsSeen::ID); 227 AutofillHostMsg_FormsSeen::ID);
228 ASSERT_NE(nullptr, message); 228 ASSERT_NE(nullptr, message);
229 AutofillHostMsg_FormsSeen::Read(message, &params); 229 AutofillHostMsg_FormsSeen::Read(message, &params);
230 forms = get<0>(params); 230 forms = base::get<0>(params);
231 ASSERT_EQ(1UL, forms.size()); 231 ASSERT_EQ(1UL, forms.size());
232 ASSERT_EQ(9UL, forms[0].fields.size()); 232 ASSERT_EQ(9UL, forms[0].fields.size());
233 233
234 FormFieldData expected; 234 FormFieldData expected;
235 235
236 expected.name = ASCIIToUTF16("EMAIL_ADDRESS"); 236 expected.name = ASCIIToUTF16("EMAIL_ADDRESS");
237 expected.value.clear(); 237 expected.value.clear();
238 expected.form_control_type = "text"; 238 expected.form_control_type = "text";
239 expected.max_length = WebInputElement::defaultMaxLength(); 239 expected.max_length = WebInputElement::defaultMaxLength();
240 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[7]); 240 EXPECT_FORM_FIELD_DATA_EQUALS(expected, forms[0].fields[7]);
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 }; 344 };
345 345
346 TEST_F(RequestAutocompleteRendererTest, InvokingTwiceOnlyShowsOnce) { 346 TEST_F(RequestAutocompleteRendererTest, InvokingTwiceOnlyShowsOnce) {
347 // Attempting to show the requestAutocomplete dialog again should be ignored. 347 // Attempting to show the requestAutocomplete dialog again should be ignored.
348 invoking_frame_->autofillClient()->didRequestAutocomplete(invoking_form()); 348 invoking_frame_->autofillClient()->didRequestAutocomplete(invoking_form());
349 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching( 349 EXPECT_FALSE(render_thread_->sink().GetFirstMessageMatching(
350 AutofillHostMsg_RequestAutocomplete::ID)); 350 AutofillHostMsg_RequestAutocomplete::ID));
351 } 351 }
352 352
353 } // namespace autofill 353 } // namespace autofill
OLDNEW
« no previous file with comments | « chrome/common/chrome_utility_messages.h ('k') | chrome/renderer/autofill/form_autocomplete_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698