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

Side by Side Diff: chrome/renderer/form_manager_browsertest.cc

Issue 5137004: Autofill: Prefer maxLength to size attribute for form filling heuristics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: maxLength to the max Created 10 years, 1 month 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
« no previous file with comments | « chrome/renderer/form_manager.cc ('k') | webkit/glue/form_field.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/string_util.h" 5 #include "base/string_util.h"
6 #include "base/utf_string_conversions.h" 6 #include "base/utf_string_conversions.h"
7 #include "chrome/renderer/form_manager.h" 7 #include "chrome/renderer/form_manager.h"
8 #include "chrome/test/render_view_test.h" 8 #include "chrome/test/render_view_test.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/WebKit/WebKit/chromium/public/WebDocument.h" 10 #include "third_party/WebKit/WebKit/chromium/public/WebDocument.h"
(...skipping 19 matching lines...) Expand all
30 using WebKit::WebString; 30 using WebKit::WebString;
31 using WebKit::WebVector; 31 using WebKit::WebVector;
32 32
33 using webkit_glue::FormData; 33 using webkit_glue::FormData;
34 using webkit_glue::FormField; 34 using webkit_glue::FormField;
35 35
36 namespace { 36 namespace {
37 37
38 typedef RenderViewTest FormManagerTest; 38 typedef RenderViewTest FormManagerTest;
39 39
40 // TODO(isherman): Pull this as a named constant from WebKit
41 const int defaultMaxLength = 524288;
dhollowa 2010/11/19 03:00:29 nit: kDefaultMaxLength. Also, 524288 == 0x80000 i
42
40 TEST_F(FormManagerTest, WebFormElementToFormData) { 43 TEST_F(FormManagerTest, WebFormElementToFormData) {
41 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">" 44 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">"
42 " <INPUT type=\"text\" id=\"firstname\" value=\"John\"/>" 45 " <INPUT type=\"text\" id=\"firstname\" value=\"John\"/>"
43 " <INPUT type=\"text\" id=\"lastname\" value=\"Smith\"/>" 46 " <INPUT type=\"text\" id=\"lastname\" value=\"Smith\"/>"
44 " <INPUT type=\"hidden\" id=\"notvisible\" value=\"apple\"/>" 47 " <INPUT type=\"hidden\" id=\"notvisible\" value=\"apple\"/>"
45 " <INPUT type=\"submit\" name=\"reply-send\" value=\"Send\"/>" 48 " <INPUT type=\"submit\" name=\"reply-send\" value=\"Send\"/>"
46 "</FORM>"); 49 "</FORM>");
47 50
48 WebFrame* frame = GetMainFrame(); 51 WebFrame* frame = GetMainFrame();
49 ASSERT_NE(static_cast<WebFrame*>(NULL), frame); 52 ASSERT_NE(static_cast<WebFrame*>(NULL), frame);
(...skipping 11 matching lines...) Expand all
61 EXPECT_EQ(GURL(frame->url()), form.origin); 64 EXPECT_EQ(GURL(frame->url()), form.origin);
62 EXPECT_EQ(GURL("http://cnn.com"), form.action); 65 EXPECT_EQ(GURL("http://cnn.com"), form.action);
63 66
64 const std::vector<FormField>& fields = form.fields; 67 const std::vector<FormField>& fields = form.fields;
65 ASSERT_EQ(4U, fields.size()); 68 ASSERT_EQ(4U, fields.size());
66 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 69 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
67 FormField(string16(), 70 FormField(string16(),
68 ASCIIToUTF16("firstname"), 71 ASCIIToUTF16("firstname"),
69 ASCIIToUTF16("John"), 72 ASCIIToUTF16("John"),
70 ASCIIToUTF16("text"), 73 ASCIIToUTF16("text"),
71 20))); 74 defaultMaxLength)));
72 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 75 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
73 FormField(string16(), 76 FormField(string16(),
74 ASCIIToUTF16("lastname"), 77 ASCIIToUTF16("lastname"),
75 ASCIIToUTF16("Smith"), 78 ASCIIToUTF16("Smith"),
76 ASCIIToUTF16("text"), 79 ASCIIToUTF16("text"),
77 20))); 80 defaultMaxLength)));
78 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 81 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
79 FormField(string16(), 82 FormField(string16(),
80 ASCIIToUTF16("notvisible"), 83 ASCIIToUTF16("notvisible"),
81 ASCIIToUTF16("apple"), 84 ASCIIToUTF16("apple"),
82 ASCIIToUTF16("hidden"), 85 ASCIIToUTF16("hidden"),
83 0))); 86 0)));
84 EXPECT_TRUE(fields[3].StrictlyEqualsHack( 87 EXPECT_TRUE(fields[3].StrictlyEqualsHack(
85 FormField(string16(), 88 FormField(string16(),
86 ASCIIToUTF16("reply-send"), 89 ASCIIToUTF16("reply-send"),
87 string16(), 90 string16(),
(...skipping 22 matching lines...) Expand all
110 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 113 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
111 EXPECT_EQ(GURL(web_frame->url()), form.origin); 114 EXPECT_EQ(GURL(web_frame->url()), form.origin);
112 EXPECT_EQ(GURL("http://cnn.com"), form.action); 115 EXPECT_EQ(GURL("http://cnn.com"), form.action);
113 116
114 const std::vector<FormField>& fields = form.fields; 117 const std::vector<FormField>& fields = form.fields;
115 ASSERT_EQ(3U, fields.size()); 118 ASSERT_EQ(3U, fields.size());
116 EXPECT_EQ(FormField(string16(), 119 EXPECT_EQ(FormField(string16(),
117 ASCIIToUTF16("firstname"), 120 ASCIIToUTF16("firstname"),
118 ASCIIToUTF16("John"), 121 ASCIIToUTF16("John"),
119 ASCIIToUTF16("text"), 122 ASCIIToUTF16("text"),
120 20), 123 defaultMaxLength),
121 fields[0]); 124 fields[0]);
122 EXPECT_EQ(FormField(string16(), 125 EXPECT_EQ(FormField(string16(),
123 ASCIIToUTF16("lastname"), 126 ASCIIToUTF16("lastname"),
124 ASCIIToUTF16("Smith"), 127 ASCIIToUTF16("Smith"),
125 ASCIIToUTF16("text"), 128 ASCIIToUTF16("text"),
126 20), 129 defaultMaxLength),
127 fields[1]); 130 fields[1]);
128 EXPECT_EQ(FormField(string16(), 131 EXPECT_EQ(FormField(string16(),
129 ASCIIToUTF16("reply-send"), 132 ASCIIToUTF16("reply-send"),
130 ASCIIToUTF16("Send"), 133 ASCIIToUTF16("Send"),
131 ASCIIToUTF16("submit"), 134 ASCIIToUTF16("submit"),
132 0), 135 0),
133 fields[2]); 136 fields[2]);
134 } 137 }
135 138
136 TEST_F(FormManagerTest, ExtractMultipleForms) { 139 TEST_F(FormManagerTest, ExtractMultipleForms) {
(...skipping 23 matching lines...) Expand all
160 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 163 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
161 EXPECT_EQ(GURL(web_frame->url()), form.origin); 164 EXPECT_EQ(GURL(web_frame->url()), form.origin);
162 EXPECT_EQ(GURL("http://cnn.com"), form.action); 165 EXPECT_EQ(GURL("http://cnn.com"), form.action);
163 166
164 const std::vector<FormField>& fields = form.fields; 167 const std::vector<FormField>& fields = form.fields;
165 ASSERT_EQ(3U, fields.size()); 168 ASSERT_EQ(3U, fields.size());
166 EXPECT_EQ(FormField(string16(), 169 EXPECT_EQ(FormField(string16(),
167 ASCIIToUTF16("firstname"), 170 ASCIIToUTF16("firstname"),
168 ASCIIToUTF16("John"), 171 ASCIIToUTF16("John"),
169 ASCIIToUTF16("text"), 172 ASCIIToUTF16("text"),
170 20), 173 defaultMaxLength),
171 fields[0]); 174 fields[0]);
172 EXPECT_EQ(FormField(string16(), 175 EXPECT_EQ(FormField(string16(),
173 ASCIIToUTF16("lastname"), 176 ASCIIToUTF16("lastname"),
174 ASCIIToUTF16("Smith"), 177 ASCIIToUTF16("Smith"),
175 ASCIIToUTF16("text"), 178 ASCIIToUTF16("text"),
176 20), 179 defaultMaxLength),
177 fields[1]); 180 fields[1]);
178 EXPECT_EQ(FormField(string16(), 181 EXPECT_EQ(FormField(string16(),
179 ASCIIToUTF16("reply-send"), 182 ASCIIToUTF16("reply-send"),
180 ASCIIToUTF16("Send"), 183 ASCIIToUTF16("Send"),
181 ASCIIToUTF16("submit"), 184 ASCIIToUTF16("submit"),
182 0), 185 0),
183 fields[2]); 186 fields[2]);
184 187
185 // Second form. 188 // Second form.
186 const FormData& form2 = forms[1]; 189 const FormData& form2 = forms[1];
187 EXPECT_EQ(ASCIIToUTF16("TestForm2"), form2.name); 190 EXPECT_EQ(ASCIIToUTF16("TestForm2"), form2.name);
188 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 191 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
189 EXPECT_EQ(GURL("http://zoo.com"), form2.action); 192 EXPECT_EQ(GURL("http://zoo.com"), form2.action);
190 193
191 const std::vector<FormField>& fields2 = form2.fields; 194 const std::vector<FormField>& fields2 = form2.fields;
192 ASSERT_EQ(3U, fields2.size()); 195 ASSERT_EQ(3U, fields2.size());
193 EXPECT_EQ(FormField(string16(), 196 EXPECT_EQ(FormField(string16(),
194 ASCIIToUTF16("firstname"), 197 ASCIIToUTF16("firstname"),
195 ASCIIToUTF16("John"), 198 ASCIIToUTF16("John"),
196 ASCIIToUTF16("text"), 199 ASCIIToUTF16("text"),
197 20), 200 defaultMaxLength),
198 fields2[0]); 201 fields2[0]);
199 EXPECT_EQ(FormField(string16(), 202 EXPECT_EQ(FormField(string16(),
200 ASCIIToUTF16("lastname"), 203 ASCIIToUTF16("lastname"),
201 ASCIIToUTF16("Smith"), 204 ASCIIToUTF16("Smith"),
202 ASCIIToUTF16("text"), 205 ASCIIToUTF16("text"),
203 20), 206 defaultMaxLength),
204 fields2[1]); 207 fields2[1]);
205 EXPECT_EQ(FormField(string16(), 208 EXPECT_EQ(FormField(string16(),
206 ASCIIToUTF16("reply-send"), 209 ASCIIToUTF16("reply-send"),
207 ASCIIToUTF16("Send"), 210 ASCIIToUTF16("Send"),
208 ASCIIToUTF16("submit"), 211 ASCIIToUTF16("submit"),
209 0), 212 0),
210 fields2[2]); 213 fields2[2]);
211 } 214 }
212 215
213 TEST_F(FormManagerTest, GetFormsAutocomplete) { 216 TEST_F(FormManagerTest, GetFormsAutocomplete) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 263 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
261 EXPECT_EQ(GURL(web_frame->url()), form.origin); 264 EXPECT_EQ(GURL(web_frame->url()), form.origin);
262 EXPECT_EQ(GURL("http://abc.com"), form.action); 265 EXPECT_EQ(GURL("http://abc.com"), form.action);
263 266
264 const std::vector<FormField>& fields = form.fields; 267 const std::vector<FormField>& fields = form.fields;
265 ASSERT_EQ(3U, fields.size()); 268 ASSERT_EQ(3U, fields.size());
266 EXPECT_EQ(FormField(string16(), 269 EXPECT_EQ(FormField(string16(),
267 ASCIIToUTF16("middlename"), 270 ASCIIToUTF16("middlename"),
268 ASCIIToUTF16("Jack"), 271 ASCIIToUTF16("Jack"),
269 ASCIIToUTF16("text"), 272 ASCIIToUTF16("text"),
270 20), 273 defaultMaxLength),
271 fields[0]); 274 fields[0]);
272 EXPECT_EQ(FormField(string16(), 275 EXPECT_EQ(FormField(string16(),
273 ASCIIToUTF16("lastname"), 276 ASCIIToUTF16("lastname"),
274 ASCIIToUTF16("Smith"), 277 ASCIIToUTF16("Smith"),
275 ASCIIToUTF16("text"), 278 ASCIIToUTF16("text"),
276 20), 279 defaultMaxLength),
277 fields[1]); 280 fields[1]);
278 EXPECT_EQ(FormField(string16(), 281 EXPECT_EQ(FormField(string16(),
279 ASCIIToUTF16("reply"), 282 ASCIIToUTF16("reply"),
280 ASCIIToUTF16("Send"), 283 ASCIIToUTF16("Send"),
281 ASCIIToUTF16("submit"), 284 ASCIIToUTF16("submit"),
282 0), 285 0),
283 fields[2]); 286 fields[2]);
284 } 287 }
285 288
286 TEST_F(FormManagerTest, GetFormsElementsEnabled) { 289 TEST_F(FormManagerTest, GetFormsElementsEnabled) {
(...skipping 19 matching lines...) Expand all
306 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 309 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
307 EXPECT_EQ(GURL(web_frame->url()), form.origin); 310 EXPECT_EQ(GURL(web_frame->url()), form.origin);
308 EXPECT_EQ(GURL("http://xyz.com"), form.action); 311 EXPECT_EQ(GURL("http://xyz.com"), form.action);
309 312
310 const std::vector<FormField>& fields = form.fields; 313 const std::vector<FormField>& fields = form.fields;
311 ASSERT_EQ(3U, fields.size()); 314 ASSERT_EQ(3U, fields.size());
312 EXPECT_EQ(FormField(string16(), 315 EXPECT_EQ(FormField(string16(),
313 ASCIIToUTF16("middlename"), 316 ASCIIToUTF16("middlename"),
314 ASCIIToUTF16("Jack"), 317 ASCIIToUTF16("Jack"),
315 ASCIIToUTF16("text"), 318 ASCIIToUTF16("text"),
316 20), 319 defaultMaxLength),
317 fields[0]); 320 fields[0]);
318 EXPECT_EQ(FormField(string16(), 321 EXPECT_EQ(FormField(string16(),
319 ASCIIToUTF16("lastname"), 322 ASCIIToUTF16("lastname"),
320 ASCIIToUTF16("Smith"), 323 ASCIIToUTF16("Smith"),
321 ASCIIToUTF16("text"), 324 ASCIIToUTF16("text"),
322 20), 325 defaultMaxLength),
323 fields[1]); 326 fields[1]);
324 EXPECT_EQ(FormField(string16(), 327 EXPECT_EQ(FormField(string16(),
325 ASCIIToUTF16("submit"), 328 ASCIIToUTF16("submit"),
326 ASCIIToUTF16("Send"), 329 ASCIIToUTF16("Send"),
327 ASCIIToUTF16("submit"), 330 ASCIIToUTF16("submit"),
328 0), 331 0),
329 fields[2]); 332 fields[2]);
330 } 333 }
331 334
332 TEST_F(FormManagerTest, FindForm) { 335 TEST_F(FormManagerTest, FindForm) {
(...skipping 25 matching lines...) Expand all
358 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 361 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
359 EXPECT_EQ(GURL(web_frame->url()), form.origin); 362 EXPECT_EQ(GURL(web_frame->url()), form.origin);
360 EXPECT_EQ(GURL("http://buh.com"), form.action); 363 EXPECT_EQ(GURL("http://buh.com"), form.action);
361 364
362 const std::vector<FormField>& fields = form.fields; 365 const std::vector<FormField>& fields = form.fields;
363 ASSERT_EQ(3U, fields.size()); 366 ASSERT_EQ(3U, fields.size());
364 EXPECT_EQ(FormField(string16(), 367 EXPECT_EQ(FormField(string16(),
365 ASCIIToUTF16("firstname"), 368 ASCIIToUTF16("firstname"),
366 ASCIIToUTF16("John"), 369 ASCIIToUTF16("John"),
367 ASCIIToUTF16("text"), 370 ASCIIToUTF16("text"),
368 20), 371 defaultMaxLength),
369 fields[0]); 372 fields[0]);
370 EXPECT_EQ(FormField(string16(), 373 EXPECT_EQ(FormField(string16(),
371 ASCIIToUTF16("lastname"), 374 ASCIIToUTF16("lastname"),
372 ASCIIToUTF16("Smith"), 375 ASCIIToUTF16("Smith"),
373 ASCIIToUTF16("text"), 376 ASCIIToUTF16("text"),
374 20), 377 defaultMaxLength),
375 fields[1]); 378 fields[1]);
376 EXPECT_EQ(FormField(string16(), 379 EXPECT_EQ(FormField(string16(),
377 ASCIIToUTF16("reply-send"), 380 ASCIIToUTF16("reply-send"),
378 ASCIIToUTF16("Send"), 381 ASCIIToUTF16("Send"),
379 ASCIIToUTF16("submit"), 382 ASCIIToUTF16("submit"),
380 0), 383 0),
381 fields[2]); 384 fields[2]);
382 } 385 }
383 386
384 TEST_F(FormManagerTest, FillForm) { 387 TEST_F(FormManagerTest, FillForm) {
(...skipping 29 matching lines...) Expand all
414 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 417 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
415 EXPECT_EQ(GURL(web_frame->url()), form.origin); 418 EXPECT_EQ(GURL(web_frame->url()), form.origin);
416 EXPECT_EQ(GURL("http://buh.com"), form.action); 419 EXPECT_EQ(GURL("http://buh.com"), form.action);
417 420
418 const std::vector<FormField>& fields = form.fields; 421 const std::vector<FormField>& fields = form.fields;
419 ASSERT_EQ(7U, fields.size()); 422 ASSERT_EQ(7U, fields.size());
420 EXPECT_EQ(FormField(string16(), 423 EXPECT_EQ(FormField(string16(),
421 ASCIIToUTF16("firstname"), 424 ASCIIToUTF16("firstname"),
422 string16(), 425 string16(),
423 ASCIIToUTF16("text"), 426 ASCIIToUTF16("text"),
424 20), 427 defaultMaxLength),
425 fields[0]); 428 fields[0]);
426 EXPECT_EQ(FormField(string16(), 429 EXPECT_EQ(FormField(string16(),
427 ASCIIToUTF16("lastname"), 430 ASCIIToUTF16("lastname"),
428 string16(), 431 string16(),
429 ASCIIToUTF16("text"), 432 ASCIIToUTF16("text"),
430 20), 433 defaultMaxLength),
431 fields[1]); 434 fields[1]);
432 EXPECT_EQ(FormField(string16(), 435 EXPECT_EQ(FormField(string16(),
433 ASCIIToUTF16("imhidden"), 436 ASCIIToUTF16("imhidden"),
434 string16(), 437 string16(),
435 ASCIIToUTF16("hidden"), 438 ASCIIToUTF16("hidden"),
436 0), 439 0),
437 fields[2]); 440 fields[2]);
438 EXPECT_EQ(FormField(string16(), 441 EXPECT_EQ(FormField(string16(),
439 ASCIIToUTF16("notempty"), 442 ASCIIToUTF16("notempty"),
440 ASCIIToUTF16("Hi"), 443 ASCIIToUTF16("Hi"),
441 ASCIIToUTF16("text"), 444 ASCIIToUTF16("text"),
442 20), 445 defaultMaxLength),
443 fields[3]); 446 fields[3]);
444 EXPECT_EQ(FormField(string16(), 447 EXPECT_EQ(FormField(string16(),
445 ASCIIToUTF16("noautocomplete"), 448 ASCIIToUTF16("noautocomplete"),
446 string16(), 449 string16(),
447 ASCIIToUTF16("text"), 450 ASCIIToUTF16("text"),
448 20), 451 defaultMaxLength),
449 fields[4]); 452 fields[4]);
450 EXPECT_EQ(FormField(string16(), 453 EXPECT_EQ(FormField(string16(),
451 ASCIIToUTF16("notenabled"), 454 ASCIIToUTF16("notenabled"),
452 string16(), 455 string16(),
453 ASCIIToUTF16("text"), 456 ASCIIToUTF16("text"),
454 20), 457 defaultMaxLength),
455 fields[5]); 458 fields[5]);
456 EXPECT_EQ(FormField(string16(), 459 EXPECT_EQ(FormField(string16(),
457 ASCIIToUTF16("reply-send"), 460 ASCIIToUTF16("reply-send"),
458 ASCIIToUTF16("Send"), 461 ASCIIToUTF16("Send"),
459 ASCIIToUTF16("submit"), 462 ASCIIToUTF16("submit"),
460 0), 463 0),
461 fields[6]); 464 fields[6]);
462 465
463 // Fill the form. 466 // Fill the form.
464 form.fields[0].set_value(ASCIIToUTF16("Wyatt")); 467 form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 544 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
542 EXPECT_EQ(GURL(web_frame->url()), form.origin); 545 EXPECT_EQ(GURL(web_frame->url()), form.origin);
543 EXPECT_EQ(GURL("http://buh.com"), form.action); 546 EXPECT_EQ(GURL("http://buh.com"), form.action);
544 547
545 const std::vector<FormField>& fields = form.fields; 548 const std::vector<FormField>& fields = form.fields;
546 ASSERT_EQ(7U, fields.size()); 549 ASSERT_EQ(7U, fields.size());
547 EXPECT_EQ(FormField(string16(), 550 EXPECT_EQ(FormField(string16(),
548 ASCIIToUTF16("firstname"), 551 ASCIIToUTF16("firstname"),
549 string16(), 552 string16(),
550 ASCIIToUTF16("text"), 553 ASCIIToUTF16("text"),
551 20), 554 defaultMaxLength),
552 fields[0]); 555 fields[0]);
553 EXPECT_EQ(FormField(string16(), 556 EXPECT_EQ(FormField(string16(),
554 ASCIIToUTF16("lastname"), 557 ASCIIToUTF16("lastname"),
555 string16(), 558 string16(),
556 ASCIIToUTF16("text"), 559 ASCIIToUTF16("text"),
557 20), 560 defaultMaxLength),
558 fields[1]); 561 fields[1]);
559 EXPECT_EQ(FormField(string16(), 562 EXPECT_EQ(FormField(string16(),
560 ASCIIToUTF16("imhidden"), 563 ASCIIToUTF16("imhidden"),
561 string16(), 564 string16(),
562 ASCIIToUTF16("hidden"), 565 ASCIIToUTF16("hidden"),
563 0), 566 0),
564 fields[2]); 567 fields[2]);
565 EXPECT_EQ(FormField(string16(), 568 EXPECT_EQ(FormField(string16(),
566 ASCIIToUTF16("notempty"), 569 ASCIIToUTF16("notempty"),
567 ASCIIToUTF16("Hi"), 570 ASCIIToUTF16("Hi"),
568 ASCIIToUTF16("text"), 571 ASCIIToUTF16("text"),
569 20), 572 defaultMaxLength),
570 fields[3]); 573 fields[3]);
571 EXPECT_EQ(FormField(string16(), 574 EXPECT_EQ(FormField(string16(),
572 ASCIIToUTF16("noautocomplete"), 575 ASCIIToUTF16("noautocomplete"),
573 string16(), 576 string16(),
574 ASCIIToUTF16("text"), 577 ASCIIToUTF16("text"),
575 20), 578 defaultMaxLength),
576 fields[4]); 579 fields[4]);
577 EXPECT_EQ(FormField(string16(), 580 EXPECT_EQ(FormField(string16(),
578 ASCIIToUTF16("notenabled"), 581 ASCIIToUTF16("notenabled"),
579 string16(), 582 string16(),
580 ASCIIToUTF16("text"), 583 ASCIIToUTF16("text"),
581 20), 584 defaultMaxLength),
582 fields[5]); 585 fields[5]);
583 EXPECT_EQ(FormField(string16(), 586 EXPECT_EQ(FormField(string16(),
584 ASCIIToUTF16("reply-send"), 587 ASCIIToUTF16("reply-send"),
585 ASCIIToUTF16("Send"), 588 ASCIIToUTF16("Send"),
586 ASCIIToUTF16("submit"), 589 ASCIIToUTF16("submit"),
587 0), 590 0),
588 fields[6]); 591 fields[6]);
589 592
590 // Preview the form. 593 // Preview the form.
591 form.fields[0].set_value(ASCIIToUTF16("Wyatt")); 594 form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 EXPECT_EQ(GURL(web_frame->url()), form.origin); 687 EXPECT_EQ(GURL(web_frame->url()), form.origin);
685 EXPECT_EQ(GURL("http://cnn.com"), form.action); 688 EXPECT_EQ(GURL("http://cnn.com"), form.action);
686 689
687 const std::vector<FormField>& fields = form.fields; 690 const std::vector<FormField>& fields = form.fields;
688 ASSERT_EQ(3U, fields.size()); 691 ASSERT_EQ(3U, fields.size());
689 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 692 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
690 FormField(ASCIIToUTF16("First name:"), 693 FormField(ASCIIToUTF16("First name:"),
691 ASCIIToUTF16("firstname"), 694 ASCIIToUTF16("firstname"),
692 ASCIIToUTF16("John"), 695 ASCIIToUTF16("John"),
693 ASCIIToUTF16("text"), 696 ASCIIToUTF16("text"),
694 20))); 697 defaultMaxLength)));
695 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 698 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
696 FormField(ASCIIToUTF16("Last name:"), 699 FormField(ASCIIToUTF16("Last name:"),
697 ASCIIToUTF16("lastname"), 700 ASCIIToUTF16("lastname"),
698 ASCIIToUTF16("Smith"), 701 ASCIIToUTF16("Smith"),
699 ASCIIToUTF16("text"), 702 ASCIIToUTF16("text"),
700 20))); 703 defaultMaxLength)));
701 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 704 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
702 FormField(string16(), 705 FormField(string16(),
703 ASCIIToUTF16("reply-send"), 706 ASCIIToUTF16("reply-send"),
704 string16(), 707 string16(),
705 ASCIIToUTF16("submit"), 708 ASCIIToUTF16("submit"),
706 0))); 709 0)));
707 } 710 }
708 711
709 TEST_F(FormManagerTest, LabelsWithSpans) { 712 TEST_F(FormManagerTest, LabelsWithSpans) {
710 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">" 713 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">"
(...skipping 19 matching lines...) Expand all
730 EXPECT_EQ(GURL(web_frame->url()), form.origin); 733 EXPECT_EQ(GURL(web_frame->url()), form.origin);
731 EXPECT_EQ(GURL("http://cnn.com"), form.action); 734 EXPECT_EQ(GURL("http://cnn.com"), form.action);
732 735
733 const std::vector<FormField>& fields = form.fields; 736 const std::vector<FormField>& fields = form.fields;
734 ASSERT_EQ(3U, fields.size()); 737 ASSERT_EQ(3U, fields.size());
735 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 738 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
736 FormField(ASCIIToUTF16("First name:"), 739 FormField(ASCIIToUTF16("First name:"),
737 ASCIIToUTF16("firstname"), 740 ASCIIToUTF16("firstname"),
738 ASCIIToUTF16("John"), 741 ASCIIToUTF16("John"),
739 ASCIIToUTF16("text"), 742 ASCIIToUTF16("text"),
740 20))); 743 defaultMaxLength)));
741 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 744 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
742 FormField(ASCIIToUTF16("Last name:"), 745 FormField(ASCIIToUTF16("Last name:"),
743 ASCIIToUTF16("lastname"), 746 ASCIIToUTF16("lastname"),
744 ASCIIToUTF16("Smith"), 747 ASCIIToUTF16("Smith"),
745 ASCIIToUTF16("text"), 748 ASCIIToUTF16("text"),
746 20))); 749 defaultMaxLength)));
747 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 750 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
748 FormField(string16(), 751 FormField(string16(),
749 ASCIIToUTF16("reply-send"), 752 ASCIIToUTF16("reply-send"),
750 string16(), 753 string16(),
751 ASCIIToUTF16("submit"), 754 ASCIIToUTF16("submit"),
752 0))); 755 0)));
753 } 756 }
754 757
755 // This test is different from FormManagerTest.Labels in that the label elements 758 // This test is different from FormManagerTest.Labels in that the label elements
756 // for= attribute is set to the name of the form control element it is a label 759 // for= attribute is set to the name of the form control element it is a label
(...skipping 25 matching lines...) Expand all
782 EXPECT_EQ(GURL(web_frame->url()), form.origin); 785 EXPECT_EQ(GURL(web_frame->url()), form.origin);
783 EXPECT_EQ(GURL("http://cnn.com"), form.action); 786 EXPECT_EQ(GURL("http://cnn.com"), form.action);
784 787
785 const std::vector<FormField>& fields = form.fields; 788 const std::vector<FormField>& fields = form.fields;
786 ASSERT_EQ(3U, fields.size()); 789 ASSERT_EQ(3U, fields.size());
787 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 790 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
788 FormField(ASCIIToUTF16("First name:"), 791 FormField(ASCIIToUTF16("First name:"),
789 ASCIIToUTF16("firstname"), 792 ASCIIToUTF16("firstname"),
790 ASCIIToUTF16("John"), 793 ASCIIToUTF16("John"),
791 ASCIIToUTF16("text"), 794 ASCIIToUTF16("text"),
792 20))); 795 defaultMaxLength)));
793 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 796 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
794 FormField(ASCIIToUTF16("Last name:"), 797 FormField(ASCIIToUTF16("Last name:"),
795 ASCIIToUTF16("lastname"), 798 ASCIIToUTF16("lastname"),
796 ASCIIToUTF16("Smith"), 799 ASCIIToUTF16("Smith"),
797 ASCIIToUTF16("text"), 800 ASCIIToUTF16("text"),
798 20))); 801 defaultMaxLength)));
799 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 802 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
800 FormField(string16(), 803 FormField(string16(),
801 ASCIIToUTF16("reply-send"), 804 ASCIIToUTF16("reply-send"),
802 string16(), 805 string16(),
803 ASCIIToUTF16("submit"), 806 ASCIIToUTF16("submit"),
804 0))); 807 0)));
805 } 808 }
806 809
807 // This test has three form control elements, only one of which has a label 810 // This test has three form control elements, only one of which has a label
808 // element associated with it. The first element is disabled because of the 811 // element associated with it. The first element is disabled because of the
(...skipping 24 matching lines...) Expand all
833 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 836 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
834 EXPECT_EQ(GURL(web_frame->url()), form.origin); 837 EXPECT_EQ(GURL(web_frame->url()), form.origin);
835 EXPECT_EQ(GURL("http://cnn.com"), form.action); 838 EXPECT_EQ(GURL("http://cnn.com"), form.action);
836 839
837 const std::vector<FormField>& fields = form.fields; 840 const std::vector<FormField>& fields = form.fields;
838 ASSERT_EQ(3U, fields.size()); 841 ASSERT_EQ(3U, fields.size());
839 EXPECT_EQ(FormField(ASCIIToUTF16("Middle name:"), 842 EXPECT_EQ(FormField(ASCIIToUTF16("Middle name:"),
840 ASCIIToUTF16("middlename"), 843 ASCIIToUTF16("middlename"),
841 string16(), 844 string16(),
842 ASCIIToUTF16("text"), 845 ASCIIToUTF16("text"),
843 20), 846 defaultMaxLength),
844 fields[0]); 847 fields[0]);
845 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 848 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
846 ASCIIToUTF16("lastname"), 849 ASCIIToUTF16("lastname"),
847 string16(), 850 string16(),
848 ASCIIToUTF16("text"), 851 ASCIIToUTF16("text"),
849 20), 852 defaultMaxLength),
850 fields[1]); 853 fields[1]);
851 EXPECT_EQ(FormField(string16(), 854 EXPECT_EQ(FormField(string16(),
852 ASCIIToUTF16("reply-send"), 855 ASCIIToUTF16("reply-send"),
853 ASCIIToUTF16("Send"), 856 ASCIIToUTF16("Send"),
854 ASCIIToUTF16("submit"), 857 ASCIIToUTF16("submit"),
855 0), 858 0),
856 fields[2]); 859 fields[2]);
857 } 860 }
858 861
859 TEST_F(FormManagerTest, LabelsInferredFromText) { 862 TEST_F(FormManagerTest, LabelsInferredFromText) {
(...skipping 19 matching lines...) Expand all
879 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 882 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
880 EXPECT_EQ(GURL(web_frame->url()), form.origin); 883 EXPECT_EQ(GURL(web_frame->url()), form.origin);
881 EXPECT_EQ(GURL("http://cnn.com"), form.action); 884 EXPECT_EQ(GURL("http://cnn.com"), form.action);
882 885
883 const std::vector<FormField>& fields = form.fields; 886 const std::vector<FormField>& fields = form.fields;
884 ASSERT_EQ(3U, fields.size()); 887 ASSERT_EQ(3U, fields.size());
885 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"), 888 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"),
886 ASCIIToUTF16("firstname"), 889 ASCIIToUTF16("firstname"),
887 ASCIIToUTF16("John"), 890 ASCIIToUTF16("John"),
888 ASCIIToUTF16("text"), 891 ASCIIToUTF16("text"),
889 20), 892 defaultMaxLength),
890 fields[0]); 893 fields[0]);
891 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 894 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
892 ASCIIToUTF16("lastname"), 895 ASCIIToUTF16("lastname"),
893 ASCIIToUTF16("Smith"), 896 ASCIIToUTF16("Smith"),
894 ASCIIToUTF16("text"), 897 ASCIIToUTF16("text"),
895 20), 898 defaultMaxLength),
896 fields[1]); 899 fields[1]);
897 EXPECT_EQ(FormField(string16(), 900 EXPECT_EQ(FormField(string16(),
898 ASCIIToUTF16("reply-send"), 901 ASCIIToUTF16("reply-send"),
899 ASCIIToUTF16("Send"), 902 ASCIIToUTF16("Send"),
900 ASCIIToUTF16("submit"), 903 ASCIIToUTF16("submit"),
901 0), 904 0),
902 fields[2]); 905 fields[2]);
903 } 906 }
904 907
905 TEST_F(FormManagerTest, LabelsInferredFromTextHidden) { 908 TEST_F(FormManagerTest, LabelsInferredFromTextHidden) {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 971 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
969 EXPECT_EQ(GURL(web_frame->url()), form.origin); 972 EXPECT_EQ(GURL(web_frame->url()), form.origin);
970 EXPECT_EQ(GURL("http://cnn.com"), form.action); 973 EXPECT_EQ(GURL("http://cnn.com"), form.action);
971 974
972 const std::vector<FormField>& fields = form.fields; 975 const std::vector<FormField>& fields = form.fields;
973 ASSERT_EQ(3U, fields.size()); 976 ASSERT_EQ(3U, fields.size());
974 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"), 977 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"),
975 ASCIIToUTF16("firstname"), 978 ASCIIToUTF16("firstname"),
976 ASCIIToUTF16("John"), 979 ASCIIToUTF16("John"),
977 ASCIIToUTF16("text"), 980 ASCIIToUTF16("text"),
978 20), 981 defaultMaxLength),
979 fields[0]); 982 fields[0]);
980 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 983 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
981 ASCIIToUTF16("lastname"), 984 ASCIIToUTF16("lastname"),
982 ASCIIToUTF16("Smith"), 985 ASCIIToUTF16("Smith"),
983 ASCIIToUTF16("text"), 986 ASCIIToUTF16("text"),
984 20), 987 defaultMaxLength),
985 fields[1]); 988 fields[1]);
986 EXPECT_EQ(FormField(string16(), 989 EXPECT_EQ(FormField(string16(),
987 ASCIIToUTF16("reply-send"), 990 ASCIIToUTF16("reply-send"),
988 ASCIIToUTF16("Send"), 991 ASCIIToUTF16("Send"),
989 ASCIIToUTF16("submit"), 992 ASCIIToUTF16("submit"),
990 0), 993 0),
991 fields[2]); 994 fields[2]);
992 } 995 }
993 996
994 TEST_F(FormManagerTest, LabelsInferredFromTableCell) { 997 TEST_F(FormManagerTest, LabelsInferredFromTableCell) {
(...skipping 30 matching lines...) Expand all
1025 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1028 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1026 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1029 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1027 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1030 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1028 1031
1029 const std::vector<FormField>& fields = form.fields; 1032 const std::vector<FormField>& fields = form.fields;
1030 ASSERT_EQ(3U, fields.size()); 1033 ASSERT_EQ(3U, fields.size());
1031 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"), 1034 EXPECT_EQ(FormField(ASCIIToUTF16("First name:"),
1032 ASCIIToUTF16("firstname"), 1035 ASCIIToUTF16("firstname"),
1033 ASCIIToUTF16("John"), 1036 ASCIIToUTF16("John"),
1034 ASCIIToUTF16("text"), 1037 ASCIIToUTF16("text"),
1035 20), 1038 defaultMaxLength),
1036 fields[0]); 1039 fields[0]);
1037 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 1040 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
1038 ASCIIToUTF16("lastname"), 1041 ASCIIToUTF16("lastname"),
1039 ASCIIToUTF16("Smith"), 1042 ASCIIToUTF16("Smith"),
1040 ASCIIToUTF16("text"), 1043 ASCIIToUTF16("text"),
1041 20), 1044 defaultMaxLength),
1042 fields[1]); 1045 fields[1]);
1043 EXPECT_EQ(FormField(string16(), 1046 EXPECT_EQ(FormField(string16(),
1044 ASCIIToUTF16("reply-send"), 1047 ASCIIToUTF16("reply-send"),
1045 ASCIIToUTF16("Send"), 1048 ASCIIToUTF16("Send"),
1046 ASCIIToUTF16("submit"), 1049 ASCIIToUTF16("submit"),
1047 0), 1050 0),
1048 fields[2]); 1051 fields[2]);
1049 } 1052 }
1050 1053
1051 TEST_F(FormManagerTest, LabelsInferredFromTableCellNested) { 1054 TEST_F(FormManagerTest, LabelsInferredFromTableCellNested) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1104 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1102 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1105 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1103 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1106 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1104 1107
1105 const std::vector<FormField>& fields = form.fields; 1108 const std::vector<FormField>& fields = form.fields;
1106 ASSERT_EQ(3U, fields.size()); 1109 ASSERT_EQ(3U, fields.size());
1107 EXPECT_EQ(FormField(ASCIIToUTF16("First name:Bogus"), 1110 EXPECT_EQ(FormField(ASCIIToUTF16("First name:Bogus"),
1108 ASCIIToUTF16("firstname"), 1111 ASCIIToUTF16("firstname"),
1109 ASCIIToUTF16("John"), 1112 ASCIIToUTF16("John"),
1110 ASCIIToUTF16("text"), 1113 ASCIIToUTF16("text"),
1111 20), 1114 defaultMaxLength),
1112 fields[0]); 1115 fields[0]);
1113 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 1116 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
1114 ASCIIToUTF16("lastname"), 1117 ASCIIToUTF16("lastname"),
1115 ASCIIToUTF16("Smith"), 1118 ASCIIToUTF16("Smith"),
1116 ASCIIToUTF16("text"), 1119 ASCIIToUTF16("text"),
1117 20), 1120 defaultMaxLength),
1118 fields[1]); 1121 fields[1]);
1119 EXPECT_EQ(FormField(string16(), 1122 EXPECT_EQ(FormField(string16(),
1120 ASCIIToUTF16("reply-send"), 1123 ASCIIToUTF16("reply-send"),
1121 ASCIIToUTF16("Send"), 1124 ASCIIToUTF16("Send"),
1122 ASCIIToUTF16("submit"), 1125 ASCIIToUTF16("submit"),
1123 0), 1126 0),
1124 fields[2]); 1127 fields[2]);
1125 } 1128 }
1126 1129
1127 TEST_F(FormManagerTest, LabelsInferredFromTableEmptyTDs) { 1130 TEST_F(FormManagerTest, LabelsInferredFromTableEmptyTDs) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1170 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1173 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1171 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1174 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1172 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1175 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1173 1176
1174 const std::vector<FormField>& fields = form.fields; 1177 const std::vector<FormField>& fields = form.fields;
1175 ASSERT_EQ(3U, fields.size()); 1178 ASSERT_EQ(3U, fields.size());
1176 EXPECT_EQ(FormField(ASCIIToUTF16("*First Name"), 1179 EXPECT_EQ(FormField(ASCIIToUTF16("*First Name"),
1177 ASCIIToUTF16("firstname"), 1180 ASCIIToUTF16("firstname"),
1178 ASCIIToUTF16("John"), 1181 ASCIIToUTF16("John"),
1179 ASCIIToUTF16("text"), 1182 ASCIIToUTF16("text"),
1180 20), 1183 defaultMaxLength),
1181 fields[0]); 1184 fields[0]);
1182 EXPECT_EQ(FormField(ASCIIToUTF16("*Last Name"), 1185 EXPECT_EQ(FormField(ASCIIToUTF16("*Last Name"),
1183 ASCIIToUTF16("lastname"), 1186 ASCIIToUTF16("lastname"),
1184 ASCIIToUTF16("Milton"), 1187 ASCIIToUTF16("Milton"),
1185 ASCIIToUTF16("text"), 1188 ASCIIToUTF16("text"),
1186 20), 1189 defaultMaxLength),
1187 fields[1]); 1190 fields[1]);
1188 EXPECT_EQ(FormField(string16(), 1191 EXPECT_EQ(FormField(string16(),
1189 ASCIIToUTF16("reply-send"), 1192 ASCIIToUTF16("reply-send"),
1190 ASCIIToUTF16("Send"), 1193 ASCIIToUTF16("Send"),
1191 ASCIIToUTF16("submit"), 1194 ASCIIToUTF16("submit"),
1192 0), 1195 0),
1193 fields[2]); 1196 fields[2]);
1194 } 1197 }
1195 1198
1196 TEST_F(FormManagerTest, LabelsInferredFromTableLabels) { 1199 TEST_F(FormManagerTest, LabelsInferredFromTableLabels) {
(...skipping 29 matching lines...) Expand all
1226 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1229 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1227 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1230 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1228 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1231 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1229 1232
1230 const std::vector<FormField>& fields = form.fields; 1233 const std::vector<FormField>& fields = form.fields;
1231 ASSERT_EQ(3U, fields.size()); 1234 ASSERT_EQ(3U, fields.size());
1232 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"), 1235 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"),
1233 ASCIIToUTF16("firstname"), 1236 ASCIIToUTF16("firstname"),
1234 ASCIIToUTF16("John"), 1237 ASCIIToUTF16("John"),
1235 ASCIIToUTF16("text"), 1238 ASCIIToUTF16("text"),
1236 20), 1239 defaultMaxLength),
1237 fields[0]); 1240 fields[0]);
1238 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), 1241 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"),
1239 ASCIIToUTF16("lastname"), 1242 ASCIIToUTF16("lastname"),
1240 ASCIIToUTF16("Smith"), 1243 ASCIIToUTF16("Smith"),
1241 ASCIIToUTF16("text"), 1244 ASCIIToUTF16("text"),
1242 20), 1245 defaultMaxLength),
1243 fields[1]); 1246 fields[1]);
1244 EXPECT_EQ(FormField(string16(), 1247 EXPECT_EQ(FormField(string16(),
1245 ASCIIToUTF16("reply-send"), 1248 ASCIIToUTF16("reply-send"),
1246 ASCIIToUTF16("Send"), 1249 ASCIIToUTF16("Send"),
1247 ASCIIToUTF16("submit"), 1250 ASCIIToUTF16("submit"),
1248 0), 1251 0),
1249 fields[2]); 1252 fields[2]);
1250 } 1253 }
1251 1254
1252 TEST_F(FormManagerTest, LabelsInferredFromTableTDInterveningElements) { 1255 TEST_F(FormManagerTest, LabelsInferredFromTableTDInterveningElements) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1287 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1285 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1288 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1286 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1289 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1287 1290
1288 const std::vector<FormField>& fields = form.fields; 1291 const std::vector<FormField>& fields = form.fields;
1289 ASSERT_EQ(3U, fields.size()); 1292 ASSERT_EQ(3U, fields.size());
1290 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"), 1293 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"),
1291 ASCIIToUTF16("firstname"), 1294 ASCIIToUTF16("firstname"),
1292 ASCIIToUTF16("John"), 1295 ASCIIToUTF16("John"),
1293 ASCIIToUTF16("text"), 1296 ASCIIToUTF16("text"),
1294 20), 1297 defaultMaxLength),
1295 fields[0]); 1298 fields[0]);
1296 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), 1299 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"),
1297 ASCIIToUTF16("lastname"), 1300 ASCIIToUTF16("lastname"),
1298 ASCIIToUTF16("Smith"), 1301 ASCIIToUTF16("Smith"),
1299 ASCIIToUTF16("text"), 1302 ASCIIToUTF16("text"),
1300 20), 1303 defaultMaxLength),
1301 fields[1]); 1304 fields[1]);
1302 EXPECT_EQ(FormField(string16(), 1305 EXPECT_EQ(FormField(string16(),
1303 ASCIIToUTF16("reply-send"), 1306 ASCIIToUTF16("reply-send"),
1304 ASCIIToUTF16("Send"), 1307 ASCIIToUTF16("Send"),
1305 ASCIIToUTF16("submit"), 1308 ASCIIToUTF16("submit"),
1306 0), 1309 0),
1307 fields[2]); 1310 fields[2]);
1308 } 1311 }
1309 1312
1310 TEST_F(FormManagerTest, LabelsInferredFromDefinitionList) { 1313 TEST_F(FormManagerTest, LabelsInferredFromDefinitionList) {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1360 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1358 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1361 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1359 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1362 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1360 1363
1361 const std::vector<FormField>& fields = form.fields; 1364 const std::vector<FormField>& fields = form.fields;
1362 ASSERT_EQ(3U, fields.size()); 1365 ASSERT_EQ(3U, fields.size());
1363 EXPECT_EQ(FormField(ASCIIToUTF16("*First name:Bogus"), 1366 EXPECT_EQ(FormField(ASCIIToUTF16("*First name:Bogus"),
1364 ASCIIToUTF16("firstname"), 1367 ASCIIToUTF16("firstname"),
1365 ASCIIToUTF16("John"), 1368 ASCIIToUTF16("John"),
1366 ASCIIToUTF16("text"), 1369 ASCIIToUTF16("text"),
1367 20), 1370 defaultMaxLength),
1368 fields[0]); 1371 fields[0]);
1369 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"), 1372 EXPECT_EQ(FormField(ASCIIToUTF16("Last name:"),
1370 ASCIIToUTF16("lastname"), 1373 ASCIIToUTF16("lastname"),
1371 ASCIIToUTF16("Smith"), 1374 ASCIIToUTF16("Smith"),
1372 ASCIIToUTF16("text"), 1375 ASCIIToUTF16("text"),
1373 20), 1376 defaultMaxLength),
1374 fields[1]); 1377 fields[1]);
1375 EXPECT_EQ(FormField(string16(), 1378 EXPECT_EQ(FormField(string16(),
1376 ASCIIToUTF16("reply-send"), 1379 ASCIIToUTF16("reply-send"),
1377 ASCIIToUTF16("Send"), 1380 ASCIIToUTF16("Send"),
1378 ASCIIToUTF16("submit"), 1381 ASCIIToUTF16("submit"),
1379 0), 1382 0),
1380 fields[2]); 1383 fields[2]);
1381 } 1384 }
1382 1385
1383 TEST_F(FormManagerTest, LabelsInferredWithSameName) { 1386 TEST_F(FormManagerTest, LabelsInferredWithSameName) {
(...skipping 19 matching lines...) Expand all
1403 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1406 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1404 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1407 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1405 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1408 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1406 1409
1407 const std::vector<FormField>& fields = form.fields; 1410 const std::vector<FormField>& fields = form.fields;
1408 ASSERT_EQ(3U, fields.size()); 1411 ASSERT_EQ(3U, fields.size());
1409 EXPECT_EQ(FormField(ASCIIToUTF16("Address Line 1:"), 1412 EXPECT_EQ(FormField(ASCIIToUTF16("Address Line 1:"),
1410 ASCIIToUTF16("Address"), 1413 ASCIIToUTF16("Address"),
1411 string16(), 1414 string16(),
1412 ASCIIToUTF16("text"), 1415 ASCIIToUTF16("text"),
1413 20), 1416 defaultMaxLength),
1414 fields[0]); 1417 fields[0]);
1415 EXPECT_EQ(FormField(ASCIIToUTF16("Address Line 2:"), 1418 EXPECT_EQ(FormField(ASCIIToUTF16("Address Line 2:"),
1416 ASCIIToUTF16("Address"), 1419 ASCIIToUTF16("Address"),
1417 string16(), 1420 string16(),
1418 ASCIIToUTF16("text"), 1421 ASCIIToUTF16("text"),
1419 20), 1422 defaultMaxLength),
1420 fields[1]); 1423 fields[1]);
1421 EXPECT_EQ(FormField(string16(), 1424 EXPECT_EQ(FormField(string16(),
1422 ASCIIToUTF16("reply-send"), 1425 ASCIIToUTF16("reply-send"),
1423 ASCIIToUTF16("Send"), 1426 ASCIIToUTF16("Send"),
1424 ASCIIToUTF16("submit"), 1427 ASCIIToUTF16("submit"),
1425 0), 1428 0),
1426 fields[2]); 1429 fields[2]);
1427 } 1430 }
1428 1431
1429 TEST_F(FormManagerTest, LabelsInferredWithImageTags) { 1432 TEST_F(FormManagerTest, LabelsInferredWithImageTags) {
(...skipping 29 matching lines...) Expand all
1459 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1462 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1460 EXPECT_EQ(GURL(frame->url()), form.origin); 1463 EXPECT_EQ(GURL(frame->url()), form.origin);
1461 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1464 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1462 1465
1463 const std::vector<FormField>& fields = form.fields; 1466 const std::vector<FormField>& fields = form.fields;
1464 ASSERT_EQ(6U, fields.size()); 1467 ASSERT_EQ(6U, fields.size());
1465 EXPECT_EQ(FormField(ASCIIToUTF16("Phone:"), 1468 EXPECT_EQ(FormField(ASCIIToUTF16("Phone:"),
1466 ASCIIToUTF16("dayphone1"), 1469 ASCIIToUTF16("dayphone1"),
1467 string16(), 1470 string16(),
1468 ASCIIToUTF16("text"), 1471 ASCIIToUTF16("text"),
1469 20), 1472 defaultMaxLength),
1470 fields[0]); 1473 fields[0]);
1471 EXPECT_EQ(FormField(ASCIIToUTF16("-"), 1474 EXPECT_EQ(FormField(ASCIIToUTF16("-"),
1472 ASCIIToUTF16("dayphone2"), 1475 ASCIIToUTF16("dayphone2"),
1473 string16(), 1476 string16(),
1474 ASCIIToUTF16("text"), 1477 ASCIIToUTF16("text"),
1475 20), 1478 defaultMaxLength),
1476 fields[1]); 1479 fields[1]);
1477 EXPECT_EQ(FormField(ASCIIToUTF16("-"), 1480 EXPECT_EQ(FormField(ASCIIToUTF16("-"),
1478 ASCIIToUTF16("dayphone3"), 1481 ASCIIToUTF16("dayphone3"),
1479 string16(), 1482 string16(),
1480 ASCIIToUTF16("text"), 1483 ASCIIToUTF16("text"),
1481 20), 1484 defaultMaxLength),
1482 fields[2]); 1485 fields[2]);
1483 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), 1486 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"),
1484 ASCIIToUTF16("dayphone4"), 1487 ASCIIToUTF16("dayphone4"),
1485 string16(), 1488 string16(),
1486 ASCIIToUTF16("text"), 1489 ASCIIToUTF16("text"),
1487 20), 1490 defaultMaxLength),
1488 fields[3]); 1491 fields[3]);
1489 EXPECT_EQ(FormField(string16(), 1492 EXPECT_EQ(FormField(string16(),
1490 ASCIIToUTF16("dummy"), 1493 ASCIIToUTF16("dummy"),
1491 string16(), 1494 string16(),
1492 ASCIIToUTF16("text"), 1495 ASCIIToUTF16("text"),
1493 20), 1496 defaultMaxLength),
1494 fields[4]); 1497 fields[4]);
1495 EXPECT_EQ(FormField(string16(), 1498 EXPECT_EQ(FormField(string16(),
1496 ASCIIToUTF16("reply-send"), 1499 ASCIIToUTF16("reply-send"),
1497 ASCIIToUTF16("Send"), 1500 ASCIIToUTF16("Send"),
1498 ASCIIToUTF16("submit"), 1501 ASCIIToUTF16("submit"),
1499 0), 1502 0),
1500 fields[5]); 1503 fields[5]);
1501 } 1504 }
1502 1505
1503 TEST_F(FormManagerTest, LabelsInferredFromDivTable) { 1506 TEST_F(FormManagerTest, LabelsInferredFromDivTable) {
(...skipping 25 matching lines...) Expand all
1529 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1532 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1530 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1533 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1531 EXPECT_EQ(GURL("http://cnn.com"), form.action); 1534 EXPECT_EQ(GURL("http://cnn.com"), form.action);
1532 1535
1533 const std::vector<FormField>& fields = form.fields; 1536 const std::vector<FormField>& fields = form.fields;
1534 ASSERT_EQ(3U, fields.size()); 1537 ASSERT_EQ(3U, fields.size());
1535 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"), 1538 EXPECT_EQ(FormField(ASCIIToUTF16("First Name:"),
1536 ASCIIToUTF16("firstname"), 1539 ASCIIToUTF16("firstname"),
1537 ASCIIToUTF16("John"), 1540 ASCIIToUTF16("John"),
1538 ASCIIToUTF16("text"), 1541 ASCIIToUTF16("text"),
1539 20), 1542 defaultMaxLength),
1540 fields[0]); 1543 fields[0]);
1541 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"), 1544 EXPECT_EQ(FormField(ASCIIToUTF16("Last Name:"),
1542 ASCIIToUTF16("lastname"), 1545 ASCIIToUTF16("lastname"),
1543 string16(), 1546 string16(),
1544 ASCIIToUTF16("text"), 1547 ASCIIToUTF16("text"),
1545 20), 1548 defaultMaxLength),
1546 fields[1]); 1549 fields[1]);
1547 EXPECT_EQ(FormField(string16(), 1550 EXPECT_EQ(FormField(string16(),
1548 ASCIIToUTF16("reply-send"), 1551 ASCIIToUTF16("reply-send"),
1549 ASCIIToUTF16("Send"), 1552 ASCIIToUTF16("Send"),
1550 ASCIIToUTF16("submit"), 1553 ASCIIToUTF16("submit"),
1551 0), 1554 0),
1552 fields[2]); 1555 fields[2]);
1553 } 1556 }
1554 1557
1555 TEST_F(FormManagerTest, FillFormMaxLength) { 1558 TEST_F(FormManagerTest, FillFormMaxLength) {
(...skipping 25 matching lines...) Expand all
1581 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1584 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1582 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1585 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1583 EXPECT_EQ(GURL("http://buh.com"), form.action); 1586 EXPECT_EQ(GURL("http://buh.com"), form.action);
1584 1587
1585 const std::vector<FormField>& fields = form.fields; 1588 const std::vector<FormField>& fields = form.fields;
1586 ASSERT_EQ(3U, fields.size()); 1589 ASSERT_EQ(3U, fields.size());
1587 EXPECT_EQ(FormField(string16(), 1590 EXPECT_EQ(FormField(string16(),
1588 ASCIIToUTF16("firstname"), 1591 ASCIIToUTF16("firstname"),
1589 string16(), 1592 string16(),
1590 ASCIIToUTF16("text"), 1593 ASCIIToUTF16("text"),
1591 20), 1594 5),
1592 fields[0]); 1595 fields[0]);
1593 EXPECT_EQ(FormField(string16(), 1596 EXPECT_EQ(FormField(string16(),
1594 ASCIIToUTF16("lastname"), 1597 ASCIIToUTF16("lastname"),
1595 string16(), 1598 string16(),
1596 ASCIIToUTF16("text"), 1599 ASCIIToUTF16("text"),
1597 20), 1600 5),
1598 fields[1]); 1601 fields[1]);
1599 EXPECT_EQ(FormField(string16(), 1602 EXPECT_EQ(FormField(string16(),
1600 ASCIIToUTF16("reply-send"), 1603 ASCIIToUTF16("reply-send"),
1601 ASCIIToUTF16("Send"), 1604 ASCIIToUTF16("Send"),
1602 ASCIIToUTF16("submit"), 1605 ASCIIToUTF16("submit"),
1603 0), 1606 0),
1604 fields[2]); 1607 fields[2]);
1605 1608
1606 // Fill the form. 1609 // Fill the form.
1607 form.fields[0].set_value(ASCIIToUTF16("Brother")); 1610 form.fields[0].set_value(ASCIIToUTF16("Brother"));
1608 form.fields[1].set_value(ASCIIToUTF16("Jonathan")); 1611 form.fields[1].set_value(ASCIIToUTF16("Jonathan"));
1609 EXPECT_TRUE(form_manager.FillForm(form, WebNode())); 1612 EXPECT_TRUE(form_manager.FillForm(form, WebNode()));
1610 1613
1611 // Find the newly-filled form that contains the input element. 1614 // Find the newly-filled form that contains the input element.
1612 FormData form2; 1615 FormData form2;
1613 EXPECT_TRUE(form_manager.FindFormWithFormControlElement( 1616 EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
1614 input_element, FormManager::REQUIRE_NONE, &form2)); 1617 input_element, FormManager::REQUIRE_NONE, &form2));
1615 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 1618 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
1616 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 1619 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
1617 EXPECT_EQ(GURL("http://buh.com"), form2.action); 1620 EXPECT_EQ(GURL("http://buh.com"), form2.action);
1618 1621
1619 const std::vector<FormField>& fields2 = form2.fields; 1622 const std::vector<FormField>& fields2 = form2.fields;
1620 EXPECT_TRUE(fields2[0].StrictlyEqualsHack( 1623 EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
1621 FormField(string16(), 1624 FormField(string16(),
1622 ASCIIToUTF16("firstname"), 1625 ASCIIToUTF16("firstname"),
1623 ASCIIToUTF16("Broth"), 1626 ASCIIToUTF16("Broth"),
1624 ASCIIToUTF16("text"), 1627 ASCIIToUTF16("text"),
1625 20))); 1628 5)));
1626 EXPECT_TRUE(fields2[1].StrictlyEqualsHack( 1629 EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
1627 FormField(string16(), 1630 FormField(string16(),
1628 ASCIIToUTF16("lastname"), 1631 ASCIIToUTF16("lastname"),
1629 ASCIIToUTF16("Jonat"), 1632 ASCIIToUTF16("Jonat"),
1630 ASCIIToUTF16("text"), 1633 ASCIIToUTF16("text"),
1631 20))); 1634 5)));
1632 EXPECT_TRUE(fields2[2].StrictlyEqualsHack( 1635 EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
1633 FormField(string16(), 1636 FormField(string16(),
1634 ASCIIToUTF16("reply-send"), 1637 ASCIIToUTF16("reply-send"),
1635 string16(), 1638 string16(),
1636 ASCIIToUTF16("submit"), 1639 ASCIIToUTF16("submit"),
1637 0))); 1640 0)));
1638 } 1641 }
1639 1642
1640 // This test uses negative values of the maxlength attribute for input elements. 1643 // This test uses negative values of the maxlength attribute for input elements.
1641 // In this case, the maxlength of the input elements is set to the default 1644 // In this case, the maxlength of the input elements is set to the default
(...skipping 27 matching lines...) Expand all
1669 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 1672 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
1670 EXPECT_EQ(GURL(web_frame->url()), form.origin); 1673 EXPECT_EQ(GURL(web_frame->url()), form.origin);
1671 EXPECT_EQ(GURL("http://buh.com"), form.action); 1674 EXPECT_EQ(GURL("http://buh.com"), form.action);
1672 1675
1673 const std::vector<FormField>& fields = form.fields; 1676 const std::vector<FormField>& fields = form.fields;
1674 ASSERT_EQ(3U, fields.size()); 1677 ASSERT_EQ(3U, fields.size());
1675 EXPECT_EQ(FormField(string16(), 1678 EXPECT_EQ(FormField(string16(),
1676 ASCIIToUTF16("firstname"), 1679 ASCIIToUTF16("firstname"),
1677 string16(), 1680 string16(),
1678 ASCIIToUTF16("text"), 1681 ASCIIToUTF16("text"),
1679 20), 1682 defaultMaxLength),
1680 fields[0]); 1683 fields[0]);
1681 EXPECT_EQ(FormField(string16(), 1684 EXPECT_EQ(FormField(string16(),
1682 ASCIIToUTF16("lastname"), 1685 ASCIIToUTF16("lastname"),
1683 string16(), 1686 string16(),
1684 ASCIIToUTF16("text"), 1687 ASCIIToUTF16("text"),
1685 20), 1688 defaultMaxLength),
1686 fields[1]); 1689 fields[1]);
1687 EXPECT_EQ(FormField(string16(), 1690 EXPECT_EQ(FormField(string16(),
1688 ASCIIToUTF16("reply-send"), 1691 ASCIIToUTF16("reply-send"),
1689 ASCIIToUTF16("Send"), 1692 ASCIIToUTF16("Send"),
1690 ASCIIToUTF16("submit"), 1693 ASCIIToUTF16("submit"),
1691 0), 1694 0),
1692 fields[2]); 1695 fields[2]);
1693 1696
1694 // Fill the form. 1697 // Fill the form.
1695 form.fields[0].set_value(ASCIIToUTF16("Brother")); 1698 form.fields[0].set_value(ASCIIToUTF16("Brother"));
1696 form.fields[1].set_value(ASCIIToUTF16("Jonathan")); 1699 form.fields[1].set_value(ASCIIToUTF16("Jonathan"));
1697 EXPECT_TRUE(form_manager.FillForm(form, WebNode())); 1700 EXPECT_TRUE(form_manager.FillForm(form, WebNode()));
1698 1701
1699 // Find the newly-filled form that contains the input element. 1702 // Find the newly-filled form that contains the input element.
1700 FormData form2; 1703 FormData form2;
1701 EXPECT_TRUE(form_manager.FindFormWithFormControlElement( 1704 EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
1702 input_element, FormManager::REQUIRE_NONE, &form2)); 1705 input_element, FormManager::REQUIRE_NONE, &form2));
1703 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 1706 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
1704 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 1707 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
1705 EXPECT_EQ(GURL("http://buh.com"), form2.action); 1708 EXPECT_EQ(GURL("http://buh.com"), form2.action);
1706 1709
1707 const std::vector<FormField>& fields2 = form2.fields; 1710 const std::vector<FormField>& fields2 = form2.fields;
1708 ASSERT_EQ(3U, fields2.size()); 1711 ASSERT_EQ(3U, fields2.size());
1709 EXPECT_TRUE(fields2[0].StrictlyEqualsHack( 1712 EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
1710 FormField(string16(), 1713 FormField(string16(),
1711 ASCIIToUTF16("firstname"), 1714 ASCIIToUTF16("firstname"),
1712 ASCIIToUTF16("Brother"), 1715 ASCIIToUTF16("Brother"),
1713 ASCIIToUTF16("text"), 1716 ASCIIToUTF16("text"),
1714 20))); 1717 defaultMaxLength)));
1715 EXPECT_TRUE(fields2[1].StrictlyEqualsHack( 1718 EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
1716 FormField(string16(), 1719 FormField(string16(),
1717 ASCIIToUTF16("lastname"), 1720 ASCIIToUTF16("lastname"),
1718 ASCIIToUTF16("Jonathan"), 1721 ASCIIToUTF16("Jonathan"),
1719 ASCIIToUTF16("text"), 1722 ASCIIToUTF16("text"),
1720 20))); 1723 defaultMaxLength)));
1721 EXPECT_TRUE(fields2[2].StrictlyEqualsHack( 1724 EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
1722 FormField(string16(), 1725 FormField(string16(),
1723 ASCIIToUTF16("reply-send"), 1726 ASCIIToUTF16("reply-send"),
1724 string16(), 1727 string16(),
1725 ASCIIToUTF16("submit"), 1728 ASCIIToUTF16("submit"),
1726 0))); 1729 0)));
1727 } 1730 }
1728 1731
1729 // This test sends a FormData object to FillForm with more fields than are in 1732 // This test sends a FormData object to FillForm with more fields than are in
1730 // the cached WebFormElement. In this case, we only fill out the fields that 1733 // the cached WebFormElement. In this case, we only fill out the fields that
(...skipping 24 matching lines...) Expand all
1755 // middlename 1758 // middlename
1756 // second 1759 // second
1757 // lastname 1760 // lastname
1758 // postfix 1761 // postfix
1759 FormData* form = &forms[0]; 1762 FormData* form = &forms[0];
1760 1763
1761 FormField field1(string16(), 1764 FormField field1(string16(),
1762 ASCIIToUTF16("prefix"), 1765 ASCIIToUTF16("prefix"),
1763 string16(), 1766 string16(),
1764 ASCIIToUTF16("text"), 1767 ASCIIToUTF16("text"),
1765 20); 1768 defaultMaxLength);
1766 form->fields.insert(form->fields.begin(), field1); 1769 form->fields.insert(form->fields.begin(), field1);
1767 1770
1768 FormField field2(string16(), 1771 FormField field2(string16(),
1769 ASCIIToUTF16("hidden"), 1772 ASCIIToUTF16("hidden"),
1770 string16(), 1773 string16(),
1771 ASCIIToUTF16("text"), 1774 ASCIIToUTF16("text"),
1772 20); 1775 defaultMaxLength);
1773 form->fields.insert(form->fields.begin() + 2, field2); 1776 form->fields.insert(form->fields.begin() + 2, field2);
1774 1777
1775 FormField field3(string16(), 1778 FormField field3(string16(),
1776 ASCIIToUTF16("second"), 1779 ASCIIToUTF16("second"),
1777 string16(), 1780 string16(),
1778 ASCIIToUTF16("text"), 1781 ASCIIToUTF16("text"),
1779 20); 1782 defaultMaxLength);
1780 form->fields.insert(form->fields.begin() + 4, field3); 1783 form->fields.insert(form->fields.begin() + 4, field3);
1781 1784
1782 FormField field4(string16(), 1785 FormField field4(string16(),
1783 ASCIIToUTF16("postfix"), 1786 ASCIIToUTF16("postfix"),
1784 string16(), 1787 string16(),
1785 ASCIIToUTF16("text"), 1788 ASCIIToUTF16("text"),
1786 20); 1789 defaultMaxLength);
1787 form->fields.insert(form->fields.begin() + 6, field4); 1790 form->fields.insert(form->fields.begin() + 6, field4);
1788 1791
1789 // Fill the form. 1792 // Fill the form.
1790 form->fields[0].set_value(ASCIIToUTF16("Alpha")); 1793 form->fields[0].set_value(ASCIIToUTF16("Alpha"));
1791 form->fields[1].set_value(ASCIIToUTF16("Brother")); 1794 form->fields[1].set_value(ASCIIToUTF16("Brother"));
1792 form->fields[2].set_value(ASCIIToUTF16("Abracadabra")); 1795 form->fields[2].set_value(ASCIIToUTF16("Abracadabra"));
1793 form->fields[3].set_value(ASCIIToUTF16("Joseph")); 1796 form->fields[3].set_value(ASCIIToUTF16("Joseph"));
1794 form->fields[4].set_value(ASCIIToUTF16("Beta")); 1797 form->fields[4].set_value(ASCIIToUTF16("Beta"));
1795 form->fields[5].set_value(ASCIIToUTF16("Jonathan")); 1798 form->fields[5].set_value(ASCIIToUTF16("Jonathan"));
1796 form->fields[6].set_value(ASCIIToUTF16("Omega")); 1799 form->fields[6].set_value(ASCIIToUTF16("Omega"));
(...skipping 10 matching lines...) Expand all
1807 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 1810 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
1808 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 1811 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
1809 EXPECT_EQ(GURL("http://buh.com"), form2.action); 1812 EXPECT_EQ(GURL("http://buh.com"), form2.action);
1810 1813
1811 const std::vector<FormField>& fields = form2.fields; 1814 const std::vector<FormField>& fields = form2.fields;
1812 ASSERT_EQ(4U, fields.size()); 1815 ASSERT_EQ(4U, fields.size());
1813 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(), 1816 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
1814 ASCIIToUTF16("firstname"), 1817 ASCIIToUTF16("firstname"),
1815 ASCIIToUTF16("Brother"), 1818 ASCIIToUTF16("Brother"),
1816 ASCIIToUTF16("text"), 1819 ASCIIToUTF16("text"),
1817 20))); 1820 defaultMaxLength)));
1818 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), 1821 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
1819 ASCIIToUTF16("middlename"), 1822 ASCIIToUTF16("middlename"),
1820 ASCIIToUTF16("Joseph"), 1823 ASCIIToUTF16("Joseph"),
1821 ASCIIToUTF16("text"), 1824 ASCIIToUTF16("text"),
1822 20))); 1825 defaultMaxLength)));
1823 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), 1826 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
1824 ASCIIToUTF16("lastname"), 1827 ASCIIToUTF16("lastname"),
1825 ASCIIToUTF16("Jonathan"), 1828 ASCIIToUTF16("Jonathan"),
1826 ASCIIToUTF16("text"), 1829 ASCIIToUTF16("text"),
1827 20))); 1830 defaultMaxLength)));
1828 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), 1831 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
1829 ASCIIToUTF16("reply-send"), 1832 ASCIIToUTF16("reply-send"),
1830 string16(), 1833 string16(),
1831 ASCIIToUTF16("submit"), 1834 ASCIIToUTF16("submit"),
1832 0))); 1835 0)));
1833 } 1836 }
1834 1837
1835 // This test sends a FormData object to FillForm with fewer fields than are in 1838 // This test sends a FormData object to FillForm with fewer fields than are in
1836 // the cached WebFormElement. In this case, we only fill out the fields that 1839 // the cached WebFormElement. In this case, we only fill out the fields that
1837 // match between the FormData object and the WebFormElement. 1840 // match between the FormData object and the WebFormElement.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1885 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 1888 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
1886 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 1889 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
1887 EXPECT_EQ(GURL("http://buh.com"), form2.action); 1890 EXPECT_EQ(GURL("http://buh.com"), form2.action);
1888 1891
1889 const std::vector<FormField>& fields = form2.fields; 1892 const std::vector<FormField>& fields = form2.fields;
1890 ASSERT_EQ(8U, fields.size()); 1893 ASSERT_EQ(8U, fields.size());
1891 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(), 1894 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
1892 ASCIIToUTF16("prefix"), 1895 ASCIIToUTF16("prefix"),
1893 string16(), 1896 string16(),
1894 ASCIIToUTF16("text"), 1897 ASCIIToUTF16("text"),
1895 20))); 1898 defaultMaxLength)));
1896 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), 1899 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
1897 ASCIIToUTF16("firstname"), 1900 ASCIIToUTF16("firstname"),
1898 ASCIIToUTF16("Brother"), 1901 ASCIIToUTF16("Brother"),
1899 ASCIIToUTF16("text"), 1902 ASCIIToUTF16("text"),
1900 20))); 1903 defaultMaxLength)));
1901 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), 1904 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
1902 ASCIIToUTF16("hidden"), 1905 ASCIIToUTF16("hidden"),
1903 string16(), 1906 string16(),
1904 ASCIIToUTF16("text"), 1907 ASCIIToUTF16("text"),
1905 20))); 1908 defaultMaxLength)));
1906 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), 1909 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
1907 ASCIIToUTF16("middlename"), 1910 ASCIIToUTF16("middlename"),
1908 ASCIIToUTF16("Joseph"), 1911 ASCIIToUTF16("Joseph"),
1909 ASCIIToUTF16("text"), 1912 ASCIIToUTF16("text"),
1910 20))); 1913 defaultMaxLength)));
1911 EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(), 1914 EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(),
1912 ASCIIToUTF16("second"), 1915 ASCIIToUTF16("second"),
1913 string16(), 1916 string16(),
1914 ASCIIToUTF16("text"), 1917 ASCIIToUTF16("text"),
1915 20))); 1918 defaultMaxLength)));
1916 EXPECT_TRUE(fields[5].StrictlyEqualsHack(FormField(string16(), 1919 EXPECT_TRUE(fields[5].StrictlyEqualsHack(FormField(string16(),
1917 ASCIIToUTF16("lastname"), 1920 ASCIIToUTF16("lastname"),
1918 ASCIIToUTF16("Jonathan"), 1921 ASCIIToUTF16("Jonathan"),
1919 ASCIIToUTF16("text"), 1922 ASCIIToUTF16("text"),
1920 20))); 1923 defaultMaxLength)));
1921 EXPECT_TRUE(fields[6].StrictlyEqualsHack(FormField(string16(), 1924 EXPECT_TRUE(fields[6].StrictlyEqualsHack(FormField(string16(),
1922 ASCIIToUTF16("postfix"), 1925 ASCIIToUTF16("postfix"),
1923 string16(), 1926 string16(),
1924 ASCIIToUTF16("text"), 1927 ASCIIToUTF16("text"),
1925 20))); 1928 defaultMaxLength)));
1926 EXPECT_TRUE(fields[7].StrictlyEqualsHack(FormField(string16(), 1929 EXPECT_TRUE(fields[7].StrictlyEqualsHack(FormField(string16(),
1927 ASCIIToUTF16("reply-send"), 1930 ASCIIToUTF16("reply-send"),
1928 string16(), 1931 string16(),
1929 ASCIIToUTF16("submit"), 1932 ASCIIToUTF16("submit"),
1930 0))); 1933 0)));
1931 } 1934 }
1932 1935
1933 // This test sends a FormData object to FillForm with a field changed from 1936 // This test sends a FormData object to FillForm with a field changed from
1934 // those in the cached WebFormElement. In this case, we only fill out the 1937 // those in the cached WebFormElement. In this case, we only fill out the
1935 // fields that match between the FormData object and the WebFormElement. 1938 // fields that match between the FormData object and the WebFormElement.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1980 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 1983 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
1981 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 1984 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
1982 EXPECT_EQ(GURL("http://buh.com"), form2.action); 1985 EXPECT_EQ(GURL("http://buh.com"), form2.action);
1983 1986
1984 const std::vector<FormField>& fields = form2.fields; 1987 const std::vector<FormField>& fields = form2.fields;
1985 ASSERT_EQ(4U, fields.size()); 1988 ASSERT_EQ(4U, fields.size());
1986 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(), 1989 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
1987 ASCIIToUTF16("firstname"), 1990 ASCIIToUTF16("firstname"),
1988 ASCIIToUTF16("Brother"), 1991 ASCIIToUTF16("Brother"),
1989 ASCIIToUTF16("text"), 1992 ASCIIToUTF16("text"),
1990 20))); 1993 defaultMaxLength)));
1991 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), 1994 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
1992 ASCIIToUTF16("middlename"), 1995 ASCIIToUTF16("middlename"),
1993 string16(), 1996 string16(),
1994 ASCIIToUTF16("text"), 1997 ASCIIToUTF16("text"),
1995 20))); 1998 defaultMaxLength)));
1996 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), 1999 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
1997 ASCIIToUTF16("lastname"), 2000 ASCIIToUTF16("lastname"),
1998 ASCIIToUTF16("Jonathan"), 2001 ASCIIToUTF16("Jonathan"),
1999 ASCIIToUTF16("text"), 2002 ASCIIToUTF16("text"),
2000 20))); 2003 defaultMaxLength)));
2001 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), 2004 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
2002 ASCIIToUTF16("reply-send"), 2005 ASCIIToUTF16("reply-send"),
2003 string16(), 2006 string16(),
2004 ASCIIToUTF16("submit"), 2007 ASCIIToUTF16("submit"),
2005 0))); 2008 0)));
2006 } 2009 }
2007 2010
2008 // This test sends a FormData object to FillForm with fewer fields than are in 2011 // This test sends a FormData object to FillForm with fewer fields than are in
2009 // the cached WebFormElement. In this case, we only fill out the fields that 2012 // the cached WebFormElement. In this case, we only fill out the fields that
2010 // match between the FormData object and the WebFormElement. 2013 // match between the FormData object and the WebFormElement.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2052 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 2055 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
2053 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2056 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2054 EXPECT_EQ(GURL("http://buh.com"), form2.action); 2057 EXPECT_EQ(GURL("http://buh.com"), form2.action);
2055 2058
2056 const std::vector<FormField>& fields = form2.fields; 2059 const std::vector<FormField>& fields = form2.fields;
2057 ASSERT_EQ(5U, fields.size()); 2060 ASSERT_EQ(5U, fields.size());
2058 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(), 2061 EXPECT_TRUE(fields[0].StrictlyEqualsHack(FormField(string16(),
2059 ASCIIToUTF16("firstname"), 2062 ASCIIToUTF16("firstname"),
2060 ASCIIToUTF16("Brother"), 2063 ASCIIToUTF16("Brother"),
2061 ASCIIToUTF16("text"), 2064 ASCIIToUTF16("text"),
2062 20))); 2065 defaultMaxLength)));
2063 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(), 2066 EXPECT_TRUE(fields[1].StrictlyEqualsHack(FormField(string16(),
2064 ASCIIToUTF16("middlename"), 2067 ASCIIToUTF16("middlename"),
2065 ASCIIToUTF16("Joseph"), 2068 ASCIIToUTF16("Joseph"),
2066 ASCIIToUTF16("text"), 2069 ASCIIToUTF16("text"),
2067 20))); 2070 defaultMaxLength)));
2068 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(), 2071 EXPECT_TRUE(fields[2].StrictlyEqualsHack(FormField(string16(),
2069 ASCIIToUTF16("lastname"), 2072 ASCIIToUTF16("lastname"),
2070 ASCIIToUTF16("Jonathan"), 2073 ASCIIToUTF16("Jonathan"),
2071 ASCIIToUTF16("text"), 2074 ASCIIToUTF16("text"),
2072 20))); 2075 defaultMaxLength)));
2073 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(), 2076 EXPECT_TRUE(fields[3].StrictlyEqualsHack(FormField(string16(),
2074 ASCIIToUTF16("postfix"), 2077 ASCIIToUTF16("postfix"),
2075 string16(), 2078 string16(),
2076 ASCIIToUTF16("text"), 2079 ASCIIToUTF16("text"),
2077 20))); 2080 defaultMaxLength)));
2078 EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(), 2081 EXPECT_TRUE(fields[4].StrictlyEqualsHack(FormField(string16(),
2079 ASCIIToUTF16("reply-send"), 2082 ASCIIToUTF16("reply-send"),
2080 string16(), 2083 string16(),
2081 ASCIIToUTF16("submit"), 2084 ASCIIToUTF16("submit"),
2082 0))); 2085 0)));
2083 } 2086 }
2084 2087
2085 TEST_F(FormManagerTest, FillFormEmptyName) { 2088 TEST_F(FormManagerTest, FillFormEmptyName) {
2086 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">" 2089 LoadHTML("<FORM name=\"TestForm\" action=\"http://buh.com\" method=\"post\">"
2087 " <INPUT type=\"text\" id=\"firstname\"/>" 2090 " <INPUT type=\"text\" id=\"firstname\"/>"
(...skipping 23 matching lines...) Expand all
2111 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 2114 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
2112 EXPECT_EQ(GURL(web_frame->url()), form.origin); 2115 EXPECT_EQ(GURL(web_frame->url()), form.origin);
2113 EXPECT_EQ(GURL("http://buh.com"), form.action); 2116 EXPECT_EQ(GURL("http://buh.com"), form.action);
2114 2117
2115 const std::vector<FormField>& fields = form.fields; 2118 const std::vector<FormField>& fields = form.fields;
2116 ASSERT_EQ(3U, fields.size()); 2119 ASSERT_EQ(3U, fields.size());
2117 EXPECT_EQ(FormField(string16(), 2120 EXPECT_EQ(FormField(string16(),
2118 ASCIIToUTF16("firstname"), 2121 ASCIIToUTF16("firstname"),
2119 string16(), 2122 string16(),
2120 ASCIIToUTF16("text"), 2123 ASCIIToUTF16("text"),
2121 20), 2124 defaultMaxLength),
2122 fields[0]); 2125 fields[0]);
2123 EXPECT_EQ(FormField(string16(), 2126 EXPECT_EQ(FormField(string16(),
2124 ASCIIToUTF16("lastname"), 2127 ASCIIToUTF16("lastname"),
2125 string16(), 2128 string16(),
2126 ASCIIToUTF16("text"), 2129 ASCIIToUTF16("text"),
2127 20), 2130 defaultMaxLength),
2128 fields[1]); 2131 fields[1]);
2129 EXPECT_EQ(FormField(string16(), 2132 EXPECT_EQ(FormField(string16(),
2130 string16(), 2133 string16(),
2131 ASCIIToUTF16("Send"), 2134 ASCIIToUTF16("Send"),
2132 ASCIIToUTF16("submit"), 2135 ASCIIToUTF16("submit"),
2133 0), 2136 0),
2134 fields[2]); 2137 fields[2]);
2135 2138
2136 // Fill the form. 2139 // Fill the form.
2137 form.fields[0].set_value(ASCIIToUTF16("Wyatt")); 2140 form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
2138 form.fields[1].set_value(ASCIIToUTF16("Earp")); 2141 form.fields[1].set_value(ASCIIToUTF16("Earp"));
2139 EXPECT_TRUE(form_manager.FillForm(form, WebNode())); 2142 EXPECT_TRUE(form_manager.FillForm(form, WebNode()));
2140 2143
2141 // Find the newly-filled form that contains the input element. 2144 // Find the newly-filled form that contains the input element.
2142 FormData form2; 2145 FormData form2;
2143 EXPECT_TRUE(form_manager.FindFormWithFormControlElement( 2146 EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
2144 input_element, FormManager::REQUIRE_NONE, &form2)); 2147 input_element, FormManager::REQUIRE_NONE, &form2));
2145 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 2148 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
2146 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2149 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2147 EXPECT_EQ(GURL("http://buh.com"), form2.action); 2150 EXPECT_EQ(GURL("http://buh.com"), form2.action);
2148 2151
2149 const std::vector<FormField>& fields2 = form2.fields; 2152 const std::vector<FormField>& fields2 = form2.fields;
2150 ASSERT_EQ(3U, fields2.size()); 2153 ASSERT_EQ(3U, fields2.size());
2151 EXPECT_EQ(FormField(string16(), 2154 EXPECT_EQ(FormField(string16(),
2152 ASCIIToUTF16("firstname"), 2155 ASCIIToUTF16("firstname"),
2153 ASCIIToUTF16("Wyatt"), 2156 ASCIIToUTF16("Wyatt"),
2154 ASCIIToUTF16("text"), 2157 ASCIIToUTF16("text"),
2155 20), 2158 defaultMaxLength),
2156 fields2[0]); 2159 fields2[0]);
2157 EXPECT_EQ(FormField(string16(), 2160 EXPECT_EQ(FormField(string16(),
2158 ASCIIToUTF16("lastname"), 2161 ASCIIToUTF16("lastname"),
2159 ASCIIToUTF16("Earp"), 2162 ASCIIToUTF16("Earp"),
2160 ASCIIToUTF16("text"), 2163 ASCIIToUTF16("text"),
2161 20), 2164 defaultMaxLength),
2162 fields2[1]); 2165 fields2[1]);
2163 EXPECT_EQ(FormField(string16(), 2166 EXPECT_EQ(FormField(string16(),
2164 string16(), 2167 string16(),
2165 ASCIIToUTF16("Send"), 2168 ASCIIToUTF16("Send"),
2166 ASCIIToUTF16("submit"), 2169 ASCIIToUTF16("submit"),
2167 0), 2170 0),
2168 fields2[2]); 2171 fields2[2]);
2169 } 2172 }
2170 2173
2171 TEST_F(FormManagerTest, FillFormEmptyFormNames) { 2174 TEST_F(FormManagerTest, FillFormEmptyFormNames) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2203 EXPECT_EQ(string16(), form.name); 2206 EXPECT_EQ(string16(), form.name);
2204 EXPECT_EQ(GURL(web_frame->url()), form.origin); 2207 EXPECT_EQ(GURL(web_frame->url()), form.origin);
2205 EXPECT_EQ(GURL("http://abc.com"), form.action); 2208 EXPECT_EQ(GURL("http://abc.com"), form.action);
2206 2209
2207 const std::vector<FormField>& fields = form.fields; 2210 const std::vector<FormField>& fields = form.fields;
2208 ASSERT_EQ(3U, fields.size()); 2211 ASSERT_EQ(3U, fields.size());
2209 EXPECT_EQ(FormField(string16(), 2212 EXPECT_EQ(FormField(string16(),
2210 ASCIIToUTF16("apple"), 2213 ASCIIToUTF16("apple"),
2211 string16(), 2214 string16(),
2212 ASCIIToUTF16("text"), 2215 ASCIIToUTF16("text"),
2213 20), 2216 defaultMaxLength),
2214 fields[0]); 2217 fields[0]);
2215 EXPECT_EQ(FormField(string16(), 2218 EXPECT_EQ(FormField(string16(),
2216 ASCIIToUTF16("banana"), 2219 ASCIIToUTF16("banana"),
2217 string16(), 2220 string16(),
2218 ASCIIToUTF16("text"), 2221 ASCIIToUTF16("text"),
2219 20), 2222 defaultMaxLength),
2220 fields[1]); 2223 fields[1]);
2221 EXPECT_EQ(FormField(string16(), 2224 EXPECT_EQ(FormField(string16(),
2222 string16(), 2225 string16(),
2223 ASCIIToUTF16("Send"), 2226 ASCIIToUTF16("Send"),
2224 ASCIIToUTF16("submit"), 2227 ASCIIToUTF16("submit"),
2225 0), 2228 0),
2226 fields[2]); 2229 fields[2]);
2227 2230
2228 // Fill the form. 2231 // Fill the form.
2229 form.fields[0].set_value(ASCIIToUTF16("Red")); 2232 form.fields[0].set_value(ASCIIToUTF16("Red"));
2230 form.fields[1].set_value(ASCIIToUTF16("Yellow")); 2233 form.fields[1].set_value(ASCIIToUTF16("Yellow"));
2231 EXPECT_TRUE(form_manager.FillForm(form, WebNode())); 2234 EXPECT_TRUE(form_manager.FillForm(form, WebNode()));
2232 2235
2233 // Find the newly-filled form that contains the input element. 2236 // Find the newly-filled form that contains the input element.
2234 FormData form2; 2237 FormData form2;
2235 EXPECT_TRUE(form_manager.FindFormWithFormControlElement( 2238 EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
2236 input_element, FormManager::REQUIRE_NONE, &form2)); 2239 input_element, FormManager::REQUIRE_NONE, &form2));
2237 EXPECT_EQ(string16(), form2.name); 2240 EXPECT_EQ(string16(), form2.name);
2238 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2241 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2239 EXPECT_EQ(GURL("http://abc.com"), form2.action); 2242 EXPECT_EQ(GURL("http://abc.com"), form2.action);
2240 2243
2241 const std::vector<FormField>& fields2 = form2.fields; 2244 const std::vector<FormField>& fields2 = form2.fields;
2242 ASSERT_EQ(3U, fields2.size()); 2245 ASSERT_EQ(3U, fields2.size());
2243 EXPECT_EQ(FormField(string16(), 2246 EXPECT_EQ(FormField(string16(),
2244 ASCIIToUTF16("apple"), 2247 ASCIIToUTF16("apple"),
2245 ASCIIToUTF16("Red"), 2248 ASCIIToUTF16("Red"),
2246 ASCIIToUTF16("text"), 2249 ASCIIToUTF16("text"),
2247 20), 2250 defaultMaxLength),
2248 fields2[0]); 2251 fields2[0]);
2249 EXPECT_EQ(FormField(string16(), 2252 EXPECT_EQ(FormField(string16(),
2250 ASCIIToUTF16("banana"), 2253 ASCIIToUTF16("banana"),
2251 ASCIIToUTF16("Yellow"), 2254 ASCIIToUTF16("Yellow"),
2252 ASCIIToUTF16("text"), 2255 ASCIIToUTF16("text"),
2253 20), 2256 defaultMaxLength),
2254 fields2[1]); 2257 fields2[1]);
2255 EXPECT_EQ(FormField(string16(), 2258 EXPECT_EQ(FormField(string16(),
2256 string16(), 2259 string16(),
2257 ASCIIToUTF16("Send"), 2260 ASCIIToUTF16("Send"),
2258 ASCIIToUTF16("submit"), 2261 ASCIIToUTF16("submit"),
2259 0), 2262 0),
2260 fields2[2]); 2263 fields2[2]);
2261 } 2264 }
2262 2265
2263 TEST_F(FormManagerTest, ThreePartPhone) { 2266 TEST_F(FormManagerTest, ThreePartPhone) {
(...skipping 25 matching lines...) Expand all
2289 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 2292 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
2290 EXPECT_EQ(GURL(frame->url()), form.origin); 2293 EXPECT_EQ(GURL(frame->url()), form.origin);
2291 EXPECT_EQ(GURL("http://cnn.com"), form.action); 2294 EXPECT_EQ(GURL("http://cnn.com"), form.action);
2292 2295
2293 const std::vector<FormField>& fields = form.fields; 2296 const std::vector<FormField>& fields = form.fields;
2294 ASSERT_EQ(5U, fields.size()); 2297 ASSERT_EQ(5U, fields.size());
2295 EXPECT_EQ(FormField(ASCIIToUTF16("Phone:"), 2298 EXPECT_EQ(FormField(ASCIIToUTF16("Phone:"),
2296 ASCIIToUTF16("dayphone1"), 2299 ASCIIToUTF16("dayphone1"),
2297 string16(), 2300 string16(),
2298 ASCIIToUTF16("text"), 2301 ASCIIToUTF16("text"),
2299 20), 2302 defaultMaxLength),
2300 fields[0]); 2303 fields[0]);
2301 EXPECT_EQ(FormField(ASCIIToUTF16("-"), 2304 EXPECT_EQ(FormField(ASCIIToUTF16("-"),
2302 ASCIIToUTF16("dayphone2"), 2305 ASCIIToUTF16("dayphone2"),
2303 string16(), 2306 string16(),
2304 ASCIIToUTF16("text"), 2307 ASCIIToUTF16("text"),
2305 20), 2308 defaultMaxLength),
2306 fields[1]); 2309 fields[1]);
2307 EXPECT_EQ(FormField(ASCIIToUTF16("-"), 2310 EXPECT_EQ(FormField(ASCIIToUTF16("-"),
2308 ASCIIToUTF16("dayphone3"), 2311 ASCIIToUTF16("dayphone3"),
2309 string16(), 2312 string16(),
2310 ASCIIToUTF16("text"), 2313 ASCIIToUTF16("text"),
2311 20), 2314 defaultMaxLength),
2312 fields[2]); 2315 fields[2]);
2313 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), 2316 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"),
2314 ASCIIToUTF16("dayphone4"), 2317 ASCIIToUTF16("dayphone4"),
2315 string16(), 2318 string16(),
2316 ASCIIToUTF16("text"), 2319 ASCIIToUTF16("text"),
2317 20), 2320 defaultMaxLength),
2318 fields[3]); 2321 fields[3]);
2319 EXPECT_EQ(FormField(string16(), 2322 EXPECT_EQ(FormField(string16(),
2320 ASCIIToUTF16("reply-send"), 2323 ASCIIToUTF16("reply-send"),
2321 ASCIIToUTF16("Send"), 2324 ASCIIToUTF16("Send"),
2322 ASCIIToUTF16("submit"), 2325 ASCIIToUTF16("submit"),
2323 0), 2326 0),
2324 fields[4]); 2327 fields[4]);
2325 } 2328 }
2326 2329
2327 2330
2328 TEST_F(FormManagerTest, SizeFields) { 2331 TEST_F(FormManagerTest, MaxLengthFields) {
2329 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">" 2332 LoadHTML("<FORM name=\"TestForm\" action=\"http://cnn.com\" method=\"post\">"
2330 " Phone:" 2333 " Phone:"
2331 " <input type=\"text\" size=\"3\" name=\"dayphone1\">" 2334 " <input type=\"text\" maxlength=\"3\" name=\"dayphone1\">"
2332 " -" 2335 " -"
2333 " <input type=\"text\" size=\"3\" name=\"dayphone2\">" 2336 " <input type=\"text\" maxlength=\"3\" name=\"dayphone2\">"
2334 " -" 2337 " -"
2335 " <input type=\"text\" size=\"4\" name=\"dayphone3\">" 2338 " <input type=\"text\" maxlength=\"4\" size=\"5\""
2339 " name=\"dayphone3\">"
2336 " ext.:" 2340 " ext.:"
2337 " <input type=\"text\" size=\"5\" name=\"dayphone4\">" 2341 " <input type=\"text\" maxlength=\"5\" name=\"dayphone4\">"
2338 " <input type=\"text\" name=\"default1\">" 2342 " <input type=\"text\" name=\"default1\">"
2339 " <input type=\"text\" size=\"-1\" name=\"invalid1\">" 2343 " <input type=\"text\" maxlength=\"-1\" name=\"invalid1\">"
2340 " <input type=\"submit\" name=\"reply-send\" value=\"Send\">" 2344 " <input type=\"submit\" name=\"reply-send\" value=\"Send\">"
2341 "</FORM>"); 2345 "</FORM>");
2342 2346
2343
2344 WebFrame* frame = GetMainFrame(); 2347 WebFrame* frame = GetMainFrame();
2345 ASSERT_NE(static_cast<WebFrame*>(NULL), frame); 2348 ASSERT_NE(static_cast<WebFrame*>(NULL), frame);
2346 2349
2347 WebVector<WebFormElement> forms; 2350 WebVector<WebFormElement> forms;
2348 frame->forms(forms); 2351 frame->forms(forms);
2349 ASSERT_EQ(1U, forms.size()); 2352 ASSERT_EQ(1U, forms.size());
2350 2353
2351 FormData form; 2354 FormData form;
2352 EXPECT_TRUE(FormManager::WebFormElementToFormData(forms[0], 2355 EXPECT_TRUE(FormManager::WebFormElementToFormData(forms[0],
2353 FormManager::REQUIRE_NONE, 2356 FormManager::REQUIRE_NONE,
(...skipping 22 matching lines...) Expand all
2376 string16(), 2379 string16(),
2377 ASCIIToUTF16("text"), 2380 ASCIIToUTF16("text"),
2378 4), 2381 4),
2379 fields[2]); 2382 fields[2]);
2380 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"), 2383 EXPECT_EQ(FormField(ASCIIToUTF16("ext.:"),
2381 ASCIIToUTF16("dayphone4"), 2384 ASCIIToUTF16("dayphone4"),
2382 string16(), 2385 string16(),
2383 ASCIIToUTF16("text"), 2386 ASCIIToUTF16("text"),
2384 5), 2387 5),
2385 fields[3]); 2388 fields[3]);
2386 // When unspecified |size|, default is 20. 2389 // When unspecified |size|, default is returned.
2387 EXPECT_EQ(FormField(string16(), 2390 EXPECT_EQ(FormField(string16(),
2388 ASCIIToUTF16("default1"), 2391 ASCIIToUTF16("default1"),
2389 string16(), 2392 string16(),
2390 ASCIIToUTF16("text"), 2393 ASCIIToUTF16("text"),
2391 20), 2394 defaultMaxLength),
2392 fields[4]); 2395 fields[4]);
2393 // When invalid |size| same value is returned. 2396 // When invalid |size|, default is returned.
2394 EXPECT_EQ(FormField(string16(), 2397 EXPECT_EQ(FormField(string16(),
2395 ASCIIToUTF16("invalid1"), 2398 ASCIIToUTF16("invalid1"),
2396 string16(), 2399 string16(),
2397 ASCIIToUTF16("text"), 2400 ASCIIToUTF16("text"),
2398 -1), 2401 defaultMaxLength),
2399 fields[5]); 2402 fields[5]);
2400 EXPECT_EQ(FormField(string16(), 2403 EXPECT_EQ(FormField(string16(),
2401 ASCIIToUTF16("reply-send"), 2404 ASCIIToUTF16("reply-send"),
2402 ASCIIToUTF16("Send"), 2405 ASCIIToUTF16("Send"),
2403 ASCIIToUTF16("submit"), 2406 ASCIIToUTF16("submit"),
2404 0), 2407 0),
2405 fields[6]); 2408 fields[6]);
2406 } 2409 }
2407 2410
2408 // This test re-creates the experience of typing in a field then selecting a 2411 // This test re-creates the experience of typing in a field then selecting a
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2440 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 2443 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
2441 EXPECT_EQ(GURL(web_frame->url()), form.origin); 2444 EXPECT_EQ(GURL(web_frame->url()), form.origin);
2442 EXPECT_EQ(GURL("http://buh.com"), form.action); 2445 EXPECT_EQ(GURL("http://buh.com"), form.action);
2443 2446
2444 const std::vector<FormField>& fields = form.fields; 2447 const std::vector<FormField>& fields = form.fields;
2445 ASSERT_EQ(3U, fields.size()); 2448 ASSERT_EQ(3U, fields.size());
2446 EXPECT_EQ(FormField(string16(), 2449 EXPECT_EQ(FormField(string16(),
2447 ASCIIToUTF16("firstname"), 2450 ASCIIToUTF16("firstname"),
2448 string16(), 2451 string16(),
2449 ASCIIToUTF16("text"), 2452 ASCIIToUTF16("text"),
2450 20), 2453 defaultMaxLength),
2451 fields[0]); 2454 fields[0]);
2452 EXPECT_EQ(FormField(string16(), 2455 EXPECT_EQ(FormField(string16(),
2453 ASCIIToUTF16("lastname"), 2456 ASCIIToUTF16("lastname"),
2454 string16(), 2457 string16(),
2455 ASCIIToUTF16("text"), 2458 ASCIIToUTF16("text"),
2456 20), 2459 defaultMaxLength),
2457 fields[1]); 2460 fields[1]);
2458 EXPECT_EQ(FormField(string16(), 2461 EXPECT_EQ(FormField(string16(),
2459 string16(), 2462 string16(),
2460 ASCIIToUTF16("Send"), 2463 ASCIIToUTF16("Send"),
2461 ASCIIToUTF16("submit"), 2464 ASCIIToUTF16("submit"),
2462 0), 2465 0),
2463 fields[2]); 2466 fields[2]);
2464 2467
2465 // Fill the form. 2468 // Fill the form.
2466 form.fields[0].set_value(ASCIIToUTF16("Wyatt")); 2469 form.fields[0].set_value(ASCIIToUTF16("Wyatt"));
2467 form.fields[1].set_value(ASCIIToUTF16("Earp")); 2470 form.fields[1].set_value(ASCIIToUTF16("Earp"));
2468 EXPECT_TRUE(form_manager.FillForm(form, input_element)); 2471 EXPECT_TRUE(form_manager.FillForm(form, input_element));
2469 2472
2470 // Find the newly-filled form that contains the input element. 2473 // Find the newly-filled form that contains the input element.
2471 FormData form2; 2474 FormData form2;
2472 EXPECT_TRUE(form_manager.FindFormWithFormControlElement( 2475 EXPECT_TRUE(form_manager.FindFormWithFormControlElement(
2473 input_element, FormManager::REQUIRE_NONE, &form2)); 2476 input_element, FormManager::REQUIRE_NONE, &form2));
2474 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name); 2477 EXPECT_EQ(ASCIIToUTF16("TestForm"), form2.name);
2475 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2478 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2476 EXPECT_EQ(GURL("http://buh.com"), form2.action); 2479 EXPECT_EQ(GURL("http://buh.com"), form2.action);
2477 2480
2478 const std::vector<FormField>& fields2 = form2.fields; 2481 const std::vector<FormField>& fields2 = form2.fields;
2479 ASSERT_EQ(3U, fields2.size()); 2482 ASSERT_EQ(3U, fields2.size());
2480 EXPECT_EQ(FormField(string16(), 2483 EXPECT_EQ(FormField(string16(),
2481 ASCIIToUTF16("firstname"), 2484 ASCIIToUTF16("firstname"),
2482 ASCIIToUTF16("Wyatt"), 2485 ASCIIToUTF16("Wyatt"),
2483 ASCIIToUTF16("text"), 2486 ASCIIToUTF16("text"),
2484 20), 2487 defaultMaxLength),
2485 fields2[0]); 2488 fields2[0]);
2486 EXPECT_EQ(FormField(string16(), 2489 EXPECT_EQ(FormField(string16(),
2487 ASCIIToUTF16("lastname"), 2490 ASCIIToUTF16("lastname"),
2488 ASCIIToUTF16("Earp"), 2491 ASCIIToUTF16("Earp"),
2489 ASCIIToUTF16("text"), 2492 ASCIIToUTF16("text"),
2490 20), 2493 defaultMaxLength),
2491 fields2[1]); 2494 fields2[1]);
2492 EXPECT_EQ(FormField(string16(), 2495 EXPECT_EQ(FormField(string16(),
2493 string16(), 2496 string16(),
2494 ASCIIToUTF16("Send"), 2497 ASCIIToUTF16("Send"),
2495 ASCIIToUTF16("submit"), 2498 ASCIIToUTF16("submit"),
2496 0), 2499 0),
2497 fields2[2]); 2500 fields2[2]);
2498 2501
2499 // Verify that the cursor position has been updated. 2502 // Verify that the cursor position has been updated.
2500 EXPECT_EQ(5, input_element.selectionStart()); 2503 EXPECT_EQ(5, input_element.selectionStart());
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2547 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2550 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2548 EXPECT_EQ(GURL("http://buh.com"), form2.action); 2551 EXPECT_EQ(GURL("http://buh.com"), form2.action);
2549 2552
2550 const std::vector<FormField>& fields2 = form2.fields; 2553 const std::vector<FormField>& fields2 = form2.fields;
2551 ASSERT_EQ(6U, fields2.size()); 2554 ASSERT_EQ(6U, fields2.size());
2552 EXPECT_TRUE(fields2[0].StrictlyEqualsHack( 2555 EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
2553 FormField(string16(), 2556 FormField(string16(),
2554 ASCIIToUTF16("firstname"), 2557 ASCIIToUTF16("firstname"),
2555 string16(), 2558 string16(),
2556 ASCIIToUTF16("text"), 2559 ASCIIToUTF16("text"),
2557 20))); 2560 defaultMaxLength)));
2558 EXPECT_TRUE(fields2[1].StrictlyEqualsHack( 2561 EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
2559 FormField(string16(), 2562 FormField(string16(),
2560 ASCIIToUTF16("lastname"), 2563 ASCIIToUTF16("lastname"),
2561 string16(), 2564 string16(),
2562 ASCIIToUTF16("text"), 2565 ASCIIToUTF16("text"),
2563 20))); 2566 defaultMaxLength)));
2564 EXPECT_TRUE(fields2[2].StrictlyEqualsHack( 2567 EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
2565 FormField(string16(), 2568 FormField(string16(),
2566 ASCIIToUTF16("noAC"), 2569 ASCIIToUTF16("noAC"),
2567 string16(), 2570 string16(),
2568 ASCIIToUTF16("text"), 2571 ASCIIToUTF16("text"),
2569 20))); 2572 defaultMaxLength)));
2570 EXPECT_TRUE(fields2[3].StrictlyEqualsHack( 2573 EXPECT_TRUE(fields2[3].StrictlyEqualsHack(
2571 FormField(string16(), 2574 FormField(string16(),
2572 ASCIIToUTF16("notenabled"), 2575 ASCIIToUTF16("notenabled"),
2573 ASCIIToUTF16("no clear"), 2576 ASCIIToUTF16("no clear"),
2574 ASCIIToUTF16("text"), 2577 ASCIIToUTF16("text"),
2575 20))); 2578 defaultMaxLength)));
2576 EXPECT_TRUE(fields2[4].StrictlyEqualsHack( 2579 EXPECT_TRUE(fields2[4].StrictlyEqualsHack(
2577 FormField(string16(), 2580 FormField(string16(),
2578 ASCIIToUTF16("notvisible"), 2581 ASCIIToUTF16("notvisible"),
2579 ASCIIToUTF16("apple"), 2582 ASCIIToUTF16("apple"),
2580 ASCIIToUTF16("hidden"), 2583 ASCIIToUTF16("hidden"),
2581 0))); 2584 0)));
2582 EXPECT_TRUE(fields2[5].StrictlyEqualsHack( 2585 EXPECT_TRUE(fields2[5].StrictlyEqualsHack(
2583 FormField(string16(), 2586 FormField(string16(),
2584 string16(), 2587 string16(),
2585 string16(), 2588 string16(),
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2640 EXPECT_EQ(GURL(web_frame->url()), form2.origin); 2643 EXPECT_EQ(GURL(web_frame->url()), form2.origin);
2641 EXPECT_EQ(GURL("http://buh.com"), form2.action); 2644 EXPECT_EQ(GURL("http://buh.com"), form2.action);
2642 2645
2643 const std::vector<FormField>& fields2 = form2.fields; 2646 const std::vector<FormField>& fields2 = form2.fields;
2644 ASSERT_EQ(4U, fields2.size()); 2647 ASSERT_EQ(4U, fields2.size());
2645 EXPECT_TRUE(fields2[0].StrictlyEqualsHack( 2648 EXPECT_TRUE(fields2[0].StrictlyEqualsHack(
2646 FormField(string16(), 2649 FormField(string16(),
2647 ASCIIToUTF16("firstname"), 2650 ASCIIToUTF16("firstname"),
2648 string16(), 2651 string16(),
2649 ASCIIToUTF16("text"), 2652 ASCIIToUTF16("text"),
2650 20))); 2653 defaultMaxLength)));
2651 EXPECT_TRUE(fields2[1].StrictlyEqualsHack( 2654 EXPECT_TRUE(fields2[1].StrictlyEqualsHack(
2652 FormField(string16(), 2655 FormField(string16(),
2653 ASCIIToUTF16("lastname"), 2656 ASCIIToUTF16("lastname"),
2654 string16(), 2657 string16(),
2655 ASCIIToUTF16("text"), 2658 ASCIIToUTF16("text"),
2656 20))); 2659 defaultMaxLength)));
2657 EXPECT_TRUE(fields2[2].StrictlyEqualsHack( 2660 EXPECT_TRUE(fields2[2].StrictlyEqualsHack(
2658 FormField(string16(), 2661 FormField(string16(),
2659 ASCIIToUTF16("state"), 2662 ASCIIToUTF16("state"),
2660 ASCIIToUTF16("?"), 2663 ASCIIToUTF16("?"),
2661 ASCIIToUTF16("select-one"), 2664 ASCIIToUTF16("select-one"),
2662 0))); 2665 0)));
2663 EXPECT_TRUE(fields2[3].StrictlyEqualsHack( 2666 EXPECT_TRUE(fields2[3].StrictlyEqualsHack(
2664 FormField(string16(), 2667 FormField(string16(),
2665 string16(), 2668 string16(),
2666 string16(), 2669 string16(),
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
2914 EXPECT_EQ(GURL(frame->url()), form.origin); 2917 EXPECT_EQ(GURL(frame->url()), form.origin);
2915 EXPECT_EQ(GURL("http://cnn.com"), form.action); 2918 EXPECT_EQ(GURL("http://cnn.com"), form.action);
2916 2919
2917 const std::vector<FormField>& fields = form.fields; 2920 const std::vector<FormField>& fields = form.fields;
2918 ASSERT_EQ(4U, fields.size()); 2921 ASSERT_EQ(4U, fields.size());
2919 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 2922 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
2920 FormField(string16(), 2923 FormField(string16(),
2921 ASCIIToUTF16("firstname"), 2924 ASCIIToUTF16("firstname"),
2922 ASCIIToUTF16("John"), 2925 ASCIIToUTF16("John"),
2923 ASCIIToUTF16("text"), 2926 ASCIIToUTF16("text"),
2924 20))); 2927 defaultMaxLength)));
2925 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 2928 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
2926 FormField(string16(), 2929 FormField(string16(),
2927 ASCIIToUTF16("lastname"), 2930 ASCIIToUTF16("lastname"),
2928 ASCIIToUTF16("Smith"), 2931 ASCIIToUTF16("Smith"),
2929 ASCIIToUTF16("text"), 2932 ASCIIToUTF16("text"),
2930 20))); 2933 defaultMaxLength)));
2931 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 2934 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
2932 FormField(string16(), 2935 FormField(string16(),
2933 ASCIIToUTF16("country"), 2936 ASCIIToUTF16("country"),
2934 ASCIIToUTF16("Albania"), 2937 ASCIIToUTF16("Albania"),
2935 ASCIIToUTF16("select-one"), 2938 ASCIIToUTF16("select-one"),
2936 0))); 2939 0)));
2937 EXPECT_TRUE(fields[3].StrictlyEqualsHack( 2940 EXPECT_TRUE(fields[3].StrictlyEqualsHack(
2938 FormField(string16(), 2941 FormField(string16(),
2939 ASCIIToUTF16("reply-send"), 2942 ASCIIToUTF16("reply-send"),
2940 string16(), 2943 string16(),
2941 ASCIIToUTF16("submit"), 2944 ASCIIToUTF16("submit"),
2942 0))); 2945 0)));
2943 2946
2944 form.fields.clear(); 2947 form.fields.clear();
2945 // Extract the country select-one value as value. 2948 // Extract the country select-one value as value.
2946 EXPECT_TRUE(FormManager::WebFormElementToFormData(forms[0], 2949 EXPECT_TRUE(FormManager::WebFormElementToFormData(forms[0],
2947 FormManager::REQUIRE_NONE, 2950 FormManager::REQUIRE_NONE,
2948 FormManager::EXTRACT_VALUE, 2951 FormManager::EXTRACT_VALUE,
2949 &form)); 2952 &form));
2950 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name); 2953 EXPECT_EQ(ASCIIToUTF16("TestForm"), form.name);
2951 EXPECT_EQ(GURL(frame->url()), form.origin); 2954 EXPECT_EQ(GURL(frame->url()), form.origin);
2952 EXPECT_EQ(GURL("http://cnn.com"), form.action); 2955 EXPECT_EQ(GURL("http://cnn.com"), form.action);
2953 2956
2954 ASSERT_EQ(4U, fields.size()); 2957 ASSERT_EQ(4U, fields.size());
2955 EXPECT_TRUE(fields[0].StrictlyEqualsHack( 2958 EXPECT_TRUE(fields[0].StrictlyEqualsHack(
2956 FormField(string16(), 2959 FormField(string16(),
2957 ASCIIToUTF16("firstname"), 2960 ASCIIToUTF16("firstname"),
2958 ASCIIToUTF16("John"), 2961 ASCIIToUTF16("John"),
2959 ASCIIToUTF16("text"), 2962 ASCIIToUTF16("text"),
2960 20))); 2963 defaultMaxLength)));
2961 EXPECT_TRUE(fields[1].StrictlyEqualsHack( 2964 EXPECT_TRUE(fields[1].StrictlyEqualsHack(
2962 FormField(string16(), 2965 FormField(string16(),
2963 ASCIIToUTF16("lastname"), 2966 ASCIIToUTF16("lastname"),
2964 ASCIIToUTF16("Smith"), 2967 ASCIIToUTF16("Smith"),
2965 ASCIIToUTF16("text"), 2968 ASCIIToUTF16("text"),
2966 20))); 2969 defaultMaxLength)));
2967 EXPECT_TRUE(fields[2].StrictlyEqualsHack( 2970 EXPECT_TRUE(fields[2].StrictlyEqualsHack(
2968 FormField(string16(), 2971 FormField(string16(),
2969 ASCIIToUTF16("country"), 2972 ASCIIToUTF16("country"),
2970 ASCIIToUTF16("AL"), 2973 ASCIIToUTF16("AL"),
2971 ASCIIToUTF16("select-one"), 2974 ASCIIToUTF16("select-one"),
2972 0))); 2975 0)));
2973 EXPECT_TRUE(fields[3].StrictlyEqualsHack( 2976 EXPECT_TRUE(fields[3].StrictlyEqualsHack(
2974 FormField(string16(), 2977 FormField(string16(),
2975 ASCIIToUTF16("reply-send"), 2978 ASCIIToUTF16("reply-send"),
2976 string16(), 2979 string16(),
2977 ASCIIToUTF16("submit"), 2980 ASCIIToUTF16("submit"),
2978 0))); 2981 0)));
2979 } 2982 }
2980 2983
2981 } // namespace 2984 } // namespace
OLDNEW
« no previous file with comments | « chrome/renderer/form_manager.cc ('k') | webkit/glue/form_field.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698