| OLD | NEW |
| 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 Loading... |
| 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 kDefaultMaxLength = 0x80000; |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength); |
| 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 kDefaultMaxLength); |
| 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 kDefaultMaxLength); |
| 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 kDefaultMaxLength); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 kDefaultMaxLength), |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 Loading... |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 kDefaultMaxLength))); |
| 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 |
| OLD | NEW |