| 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/scoped_ptr.h" | 5 #include "base/scoped_ptr.h" |
| 6 #include "base/string_util.h" | 6 #include "base/string_util.h" |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/browser/autofill/form_structure.h" | 8 #include "chrome/browser/autofill/form_structure.h" |
| 9 #include "googleurl/src/gurl.h" | 9 #include "googleurl/src/gurl.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 ASCIIToUTF16("password"), | 192 ASCIIToUTF16("password"), |
| 193 string16(), | 193 string16(), |
| 194 ASCIIToUTF16("password"), | 194 ASCIIToUTF16("password"), |
| 195 0)); | 195 0)); |
| 196 form.fields.push_back(webkit_glue::FormField(string16(), | 196 form.fields.push_back(webkit_glue::FormField(string16(), |
| 197 ASCIIToUTF16("Submit"), | 197 ASCIIToUTF16("Submit"), |
| 198 string16(), | 198 string16(), |
| 199 ASCIIToUTF16("submit"), | 199 ASCIIToUTF16("submit"), |
| 200 0)); | 200 0)); |
| 201 form_structure.reset(new FormStructure(form)); | 201 form_structure.reset(new FormStructure(form)); |
| 202 EXPECT_FALSE(form_structure->IsAutoFillable()); | 202 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
| 203 | 203 |
| 204 // We now have three text fields, but only two auto-fillable fields. | 204 // We now have three text fields, but only two auto-fillable fields. |
| 205 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), | 205 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), |
| 206 ASCIIToUTF16("firstname"), | 206 ASCIIToUTF16("firstname"), |
| 207 string16(), | 207 string16(), |
| 208 ASCIIToUTF16("text"), | 208 ASCIIToUTF16("text"), |
| 209 0)); | 209 0)); |
| 210 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"), | 210 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"), |
| 211 ASCIIToUTF16("lastname"), | 211 ASCIIToUTF16("lastname"), |
| 212 string16(), | 212 string16(), |
| 213 ASCIIToUTF16("text"), | 213 ASCIIToUTF16("text"), |
| 214 0)); | 214 0)); |
| 215 form_structure.reset(new FormStructure(form)); | 215 form_structure.reset(new FormStructure(form)); |
| 216 EXPECT_FALSE(form_structure->IsAutoFillable()); | 216 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
| 217 | 217 |
| 218 // We now have three auto-fillable fields. | 218 // We now have three auto-fillable fields. |
| 219 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"), | 219 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"), |
| 220 ASCIIToUTF16("email"), | 220 ASCIIToUTF16("email"), |
| 221 string16(), | 221 string16(), |
| 222 ASCIIToUTF16("text"), | 222 ASCIIToUTF16("text"), |
| 223 0)); | 223 0)); |
| 224 form_structure.reset(new FormStructure(form)); | 224 form_structure.reset(new FormStructure(form)); |
| 225 EXPECT_TRUE(form_structure->IsAutoFillable()); | 225 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 226 | 226 |
| 227 // The method must be 'post'. | 227 // The method must be 'post', though we can intentionally ignore this |
| 228 // criterion for the sake of providing a helpful warning message to the user. |
| 228 form.method = ASCIIToUTF16("get"); | 229 form.method = ASCIIToUTF16("get"); |
| 229 form_structure.reset(new FormStructure(form)); | 230 form_structure.reset(new FormStructure(form)); |
| 230 EXPECT_FALSE(form_structure->IsAutoFillable()); | 231 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
| 232 EXPECT_TRUE(form_structure->IsAutoFillable(false)); |
| 231 | 233 |
| 232 // The target cannot include http(s)://*/search... | 234 // The target cannot include http(s)://*/search... |
| 233 form.method = ASCIIToUTF16("post"); | 235 form.method = ASCIIToUTF16("post"); |
| 234 form.action = GURL("http://google.com/search?q=hello"); | 236 form.action = GURL("http://google.com/search?q=hello"); |
| 235 form_structure.reset(new FormStructure(form)); | 237 form_structure.reset(new FormStructure(form)); |
| 236 EXPECT_FALSE(form_structure->IsAutoFillable()); | 238 EXPECT_FALSE(form_structure->IsAutoFillable(true)); |
| 237 | 239 |
| 238 // But search can be in the URL. | 240 // But search can be in the URL. |
| 239 form.action = GURL("http://search.com/?q=hello"); | 241 form.action = GURL("http://search.com/?q=hello"); |
| 240 form_structure.reset(new FormStructure(form)); | 242 form_structure.reset(new FormStructure(form)); |
| 241 EXPECT_TRUE(form_structure->IsAutoFillable()); | 243 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 242 } | 244 } |
| 243 | 245 |
| 244 TEST(FormStructureTest, HeuristicsContactInfo) { | 246 TEST(FormStructureTest, HeuristicsContactInfo) { |
| 245 scoped_ptr<FormStructure> form_structure; | 247 scoped_ptr<FormStructure> form_structure; |
| 246 FormData form; | 248 FormData form; |
| 247 | 249 |
| 248 form.method = ASCIIToUTF16("post"); | 250 form.method = ASCIIToUTF16("post"); |
| 249 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), | 251 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"), |
| 250 ASCIIToUTF16("firstname"), | 252 ASCIIToUTF16("firstname"), |
| 251 string16(), | 253 string16(), |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 ASCIIToUTF16("zipcode"), | 287 ASCIIToUTF16("zipcode"), |
| 286 string16(), | 288 string16(), |
| 287 ASCIIToUTF16("text"), | 289 ASCIIToUTF16("text"), |
| 288 0)); | 290 0)); |
| 289 form.fields.push_back(webkit_glue::FormField(string16(), | 291 form.fields.push_back(webkit_glue::FormField(string16(), |
| 290 ASCIIToUTF16("Submit"), | 292 ASCIIToUTF16("Submit"), |
| 291 string16(), | 293 string16(), |
| 292 ASCIIToUTF16("submit"), | 294 ASCIIToUTF16("submit"), |
| 293 0)); | 295 0)); |
| 294 form_structure.reset(new FormStructure(form)); | 296 form_structure.reset(new FormStructure(form)); |
| 295 EXPECT_TRUE(form_structure->IsAutoFillable()); | 297 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 296 | 298 |
| 297 // Expect the correct number of fields. | 299 // Expect the correct number of fields. |
| 298 ASSERT_EQ(9U, form_structure->field_count()); | 300 ASSERT_EQ(9U, form_structure->field_count()); |
| 299 ASSERT_EQ(8U, form_structure->autofill_count()); | 301 ASSERT_EQ(8U, form_structure->autofill_count()); |
| 300 | 302 |
| 301 // First name. | 303 // First name. |
| 302 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 304 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 303 // Last name. | 305 // Last name. |
| 304 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 306 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 305 // Email. | 307 // Email. |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 ASCIIToUTF16("hidden8"), | 405 ASCIIToUTF16("hidden8"), |
| 404 string16(), | 406 string16(), |
| 405 ASCIIToUTF16("hidden"), | 407 ASCIIToUTF16("hidden"), |
| 406 0)); | 408 0)); |
| 407 form.fields.push_back(webkit_glue::FormField(string16(), | 409 form.fields.push_back(webkit_glue::FormField(string16(), |
| 408 ASCIIToUTF16("Submit"), | 410 ASCIIToUTF16("Submit"), |
| 409 string16(), | 411 string16(), |
| 410 ASCIIToUTF16("submit"), | 412 ASCIIToUTF16("submit"), |
| 411 0)); | 413 0)); |
| 412 form_structure.reset(new FormStructure(form)); | 414 form_structure.reset(new FormStructure(form)); |
| 413 EXPECT_TRUE(form_structure->IsAutoFillable()); | 415 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 414 | 416 |
| 415 // Expect the correct number of fields. | 417 // Expect the correct number of fields. |
| 416 ASSERT_EQ(17U, form_structure->field_count()); | 418 ASSERT_EQ(17U, form_structure->field_count()); |
| 417 ASSERT_EQ(8U, form_structure->autofill_count()); | 419 ASSERT_EQ(8U, form_structure->autofill_count()); |
| 418 | 420 |
| 419 // First name. | 421 // First name. |
| 420 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 422 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 421 // Last name. | 423 // Last name. |
| 422 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); | 424 EXPECT_EQ(NAME_LAST, form_structure->field(2)->heuristic_type()); |
| 423 // Email. | 425 // Email. |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 496 string16(), | 498 string16(), |
| 497 ASCIIToUTF16("text"), | 499 ASCIIToUTF16("text"), |
| 498 0)); | 500 0)); |
| 499 form.fields.push_back( | 501 form.fields.push_back( |
| 500 webkit_glue::FormField(string16(), | 502 webkit_glue::FormField(string16(), |
| 501 ASCIIToUTF16("Submit"), | 503 ASCIIToUTF16("Submit"), |
| 502 string16(), | 504 string16(), |
| 503 ASCIIToUTF16("submit"), | 505 ASCIIToUTF16("submit"), |
| 504 0)); | 506 0)); |
| 505 form_structure.reset(new FormStructure(form)); | 507 form_structure.reset(new FormStructure(form)); |
| 506 EXPECT_TRUE(form_structure->IsAutoFillable()); | 508 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 507 ASSERT_EQ(10U, form_structure->field_count()); | 509 ASSERT_EQ(10U, form_structure->field_count()); |
| 508 ASSERT_EQ(9U, form_structure->autofill_count()); | 510 ASSERT_EQ(9U, form_structure->autofill_count()); |
| 509 | 511 |
| 510 // First name. | 512 // First name. |
| 511 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 513 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 512 // Last name. | 514 // Last name. |
| 513 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 515 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 514 // Address. | 516 // Address. |
| 515 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); | 517 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); |
| 516 // Address. | 518 // Address. |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 ASCIIToUTF16("text"), | 576 ASCIIToUTF16("text"), |
| 575 0)); | 577 0)); |
| 576 // TODO(jhawkins): Phone number. | 578 // TODO(jhawkins): Phone number. |
| 577 form.fields.push_back( | 579 form.fields.push_back( |
| 578 webkit_glue::FormField(string16(), | 580 webkit_glue::FormField(string16(), |
| 579 ASCIIToUTF16("Submit"), | 581 ASCIIToUTF16("Submit"), |
| 580 ASCIIToUTF16("continue"), | 582 ASCIIToUTF16("continue"), |
| 581 ASCIIToUTF16("submit"), | 583 ASCIIToUTF16("submit"), |
| 582 0)); | 584 0)); |
| 583 form_structure.reset(new FormStructure(form)); | 585 form_structure.reset(new FormStructure(form)); |
| 584 EXPECT_TRUE(form_structure->IsAutoFillable()); | 586 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 585 ASSERT_EQ(7U, form_structure->field_count()); | 587 ASSERT_EQ(7U, form_structure->field_count()); |
| 586 ASSERT_EQ(6U, form_structure->autofill_count()); | 588 ASSERT_EQ(6U, form_structure->autofill_count()); |
| 587 | 589 |
| 588 // Email. | 590 // Email. |
| 589 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(0)->heuristic_type()); | 591 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(0)->heuristic_type()); |
| 590 // Full name. | 592 // Full name. |
| 591 EXPECT_EQ(NAME_FULL, form_structure->field(1)->heuristic_type()); | 593 EXPECT_EQ(NAME_FULL, form_structure->field(1)->heuristic_type()); |
| 592 // Company | 594 // Company |
| 593 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); | 595 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); |
| 594 // Address. | 596 // Address. |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 string16(), | 650 string16(), |
| 649 string16(), | 651 string16(), |
| 650 ASCIIToUTF16("text"), | 652 ASCIIToUTF16("text"), |
| 651 0)); | 653 0)); |
| 652 form.fields.push_back(webkit_glue::FormField(string16(), | 654 form.fields.push_back(webkit_glue::FormField(string16(), |
| 653 ASCIIToUTF16("Submit"), | 655 ASCIIToUTF16("Submit"), |
| 654 string16(), | 656 string16(), |
| 655 ASCIIToUTF16("submit"), | 657 ASCIIToUTF16("submit"), |
| 656 0)); | 658 0)); |
| 657 form_structure.reset(new FormStructure(form)); | 659 form_structure.reset(new FormStructure(form)); |
| 658 EXPECT_TRUE(form_structure->IsAutoFillable()); | 660 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 659 ASSERT_EQ(9U, form_structure->field_count()); | 661 ASSERT_EQ(9U, form_structure->field_count()); |
| 660 ASSERT_EQ(8U, form_structure->autofill_count()); | 662 ASSERT_EQ(8U, form_structure->autofill_count()); |
| 661 | 663 |
| 662 // First name. | 664 // First name. |
| 663 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 665 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 664 // Last name. | 666 // Last name. |
| 665 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 667 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 666 // Email. | 668 // Email. |
| 667 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type()); | 669 EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type()); |
| 668 // Phone. | 670 // Phone. |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 ASCIIToUTF16("verification"), | 711 ASCIIToUTF16("verification"), |
| 710 string16(), | 712 string16(), |
| 711 ASCIIToUTF16("text"), | 713 ASCIIToUTF16("text"), |
| 712 0)); | 714 0)); |
| 713 form.fields.push_back(webkit_glue::FormField(string16(), | 715 form.fields.push_back(webkit_glue::FormField(string16(), |
| 714 ASCIIToUTF16("Submit"), | 716 ASCIIToUTF16("Submit"), |
| 715 string16(), | 717 string16(), |
| 716 ASCIIToUTF16("submit"), | 718 ASCIIToUTF16("submit"), |
| 717 0)); | 719 0)); |
| 718 form_structure.reset(new FormStructure(form)); | 720 form_structure.reset(new FormStructure(form)); |
| 719 EXPECT_TRUE(form_structure->IsAutoFillable()); | 721 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 720 ASSERT_EQ(6U, form_structure->field_count()); | 722 ASSERT_EQ(6U, form_structure->field_count()); |
| 721 ASSERT_EQ(4U, form_structure->autofill_count()); | 723 ASSERT_EQ(4U, form_structure->autofill_count()); |
| 722 | 724 |
| 723 // Credit card name. | 725 // Credit card name. |
| 724 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 726 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
| 725 // Credit card number. | 727 // Credit card number. |
| 726 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); | 728 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(1)->heuristic_type()); |
| 727 // Credit card expiration month. | 729 // Credit card expiration month. |
| 728 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); | 730 EXPECT_EQ(CREDIT_CARD_EXP_MONTH, form_structure->field(2)->heuristic_type()); |
| 729 // Credit card expiration year. | 731 // Credit card expiration year. |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 771 ASCIIToUTF16("verification"), | 773 ASCIIToUTF16("verification"), |
| 772 string16(), | 774 string16(), |
| 773 ASCIIToUTF16("text"), | 775 ASCIIToUTF16("text"), |
| 774 0)); | 776 0)); |
| 775 form.fields.push_back(webkit_glue::FormField(string16(), | 777 form.fields.push_back(webkit_glue::FormField(string16(), |
| 776 ASCIIToUTF16("Submit"), | 778 ASCIIToUTF16("Submit"), |
| 777 string16(), | 779 string16(), |
| 778 ASCIIToUTF16("submit"), | 780 ASCIIToUTF16("submit"), |
| 779 0)); | 781 0)); |
| 780 form_structure.reset(new FormStructure(form)); | 782 form_structure.reset(new FormStructure(form)); |
| 781 EXPECT_TRUE(form_structure->IsAutoFillable()); | 783 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 782 ASSERT_EQ(7U, form_structure->field_count()); | 784 ASSERT_EQ(7U, form_structure->field_count()); |
| 783 ASSERT_EQ(4U, form_structure->autofill_count()); | 785 ASSERT_EQ(4U, form_structure->autofill_count()); |
| 784 | 786 |
| 785 // Credit card name. | 787 // Credit card name. |
| 786 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 788 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
| 787 // Credit card type. This is an unknown type but related to the credit card. | 789 // Credit card type. This is an unknown type but related to the credit card. |
| 788 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); | 790 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(1)->heuristic_type()); |
| 789 // Credit card number. | 791 // Credit card number. |
| 790 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); | 792 EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(2)->heuristic_type()); |
| 791 // Credit card expiration month. | 793 // Credit card expiration month. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 822 string16(), | 824 string16(), |
| 823 ASCIIToUTF16("text"), | 825 ASCIIToUTF16("text"), |
| 824 0)); | 826 0)); |
| 825 form.fields.push_back( | 827 form.fields.push_back( |
| 826 webkit_glue::FormField(ASCIIToUTF16("City"), | 828 webkit_glue::FormField(ASCIIToUTF16("City"), |
| 827 ASCIIToUTF16("city"), | 829 ASCIIToUTF16("city"), |
| 828 string16(), | 830 string16(), |
| 829 ASCIIToUTF16("text"), | 831 ASCIIToUTF16("text"), |
| 830 0)); | 832 0)); |
| 831 form_structure.reset(new FormStructure(form)); | 833 form_structure.reset(new FormStructure(form)); |
| 832 EXPECT_TRUE(form_structure->IsAutoFillable()); | 834 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 833 ASSERT_EQ(4U, form_structure->field_count()); | 835 ASSERT_EQ(4U, form_structure->field_count()); |
| 834 ASSERT_EQ(3U, form_structure->autofill_count()); | 836 ASSERT_EQ(3U, form_structure->autofill_count()); |
| 835 | 837 |
| 836 // Address Line 1. | 838 // Address Line 1. |
| 837 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 839 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
| 838 // Address Line 2. | 840 // Address Line 2. |
| 839 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 841 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
| 840 // Address Line 3. | 842 // Address Line 3. |
| 841 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); | 843 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); |
| 842 // City. | 844 // City. |
| (...skipping 25 matching lines...) Expand all Loading... |
| 868 string16(), | 870 string16(), |
| 869 ASCIIToUTF16("text"), | 871 ASCIIToUTF16("text"), |
| 870 0)); | 872 0)); |
| 871 form.fields.push_back( | 873 form.fields.push_back( |
| 872 webkit_glue::FormField(ASCIIToUTF16("Address Line2"), | 874 webkit_glue::FormField(ASCIIToUTF16("Address Line2"), |
| 873 ASCIIToUTF16("billing.address.addressLine2"), | 875 ASCIIToUTF16("billing.address.addressLine2"), |
| 874 string16(), | 876 string16(), |
| 875 ASCIIToUTF16("text"), | 877 ASCIIToUTF16("text"), |
| 876 0)); | 878 0)); |
| 877 form_structure.reset(new FormStructure(form)); | 879 form_structure.reset(new FormStructure(form)); |
| 878 EXPECT_TRUE(form_structure->IsAutoFillable()); | 880 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 879 ASSERT_EQ(4U, form_structure->field_count()); | 881 ASSERT_EQ(4U, form_structure->field_count()); |
| 880 ASSERT_EQ(4U, form_structure->autofill_count()); | 882 ASSERT_EQ(4U, form_structure->autofill_count()); |
| 881 | 883 |
| 882 // Address Line 1. | 884 // Address Line 1. |
| 883 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 885 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
| 884 // Address Line 2. | 886 // Address Line 2. |
| 885 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 887 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
| 886 // Address Line 1. | 888 // Address Line 1. |
| 887 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); | 889 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(2)->heuristic_type()); |
| 888 // Address Line 2. | 890 // Address Line 2. |
| (...skipping 29 matching lines...) Expand all Loading... |
| 918 string16(), | 920 string16(), |
| 919 ASCIIToUTF16("text"), | 921 ASCIIToUTF16("text"), |
| 920 0)); | 922 0)); |
| 921 form.fields.push_back( | 923 form.fields.push_back( |
| 922 webkit_glue::FormField(ASCIIToUTF16("City:"), | 924 webkit_glue::FormField(ASCIIToUTF16("City:"), |
| 923 ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct"), | 925 ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct"), |
| 924 string16(), | 926 string16(), |
| 925 ASCIIToUTF16("text"), | 927 ASCIIToUTF16("text"), |
| 926 0)); | 928 0)); |
| 927 form_structure.reset(new FormStructure(form)); | 929 form_structure.reset(new FormStructure(form)); |
| 928 EXPECT_TRUE(form_structure->IsAutoFillable()); | 930 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 929 ASSERT_EQ(4U, form_structure->field_count()); | 931 ASSERT_EQ(4U, form_structure->field_count()); |
| 930 ASSERT_EQ(3U, form_structure->autofill_count()); | 932 ASSERT_EQ(3U, form_structure->autofill_count()); |
| 931 | 933 |
| 932 // Address Line 1. | 934 // Address Line 1. |
| 933 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 935 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
| 934 // Suite / Apt. | 936 // Suite / Apt. |
| 935 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 937 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
| 936 // Address Line 3. | 938 // Address Line 3. |
| 937 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); | 939 EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(2)->heuristic_type()); |
| 938 // City. | 940 // City. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 959 string16(), | 961 string16(), |
| 960 ASCIIToUTF16("text"), | 962 ASCIIToUTF16("text"), |
| 961 0)); | 963 0)); |
| 962 form.fields.push_back( | 964 form.fields.push_back( |
| 963 webkit_glue::FormField(ASCIIToUTF16("City"), | 965 webkit_glue::FormField(ASCIIToUTF16("City"), |
| 964 ASCIIToUTF16("city"), | 966 ASCIIToUTF16("city"), |
| 965 string16(), | 967 string16(), |
| 966 ASCIIToUTF16("text"), | 968 ASCIIToUTF16("text"), |
| 967 0)); | 969 0)); |
| 968 form_structure.reset(new FormStructure(form)); | 970 form_structure.reset(new FormStructure(form)); |
| 969 EXPECT_TRUE(form_structure->IsAutoFillable()); | 971 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 970 ASSERT_EQ(3U, form_structure->field_count()); | 972 ASSERT_EQ(3U, form_structure->field_count()); |
| 971 ASSERT_EQ(3U, form_structure->autofill_count()); | 973 ASSERT_EQ(3U, form_structure->autofill_count()); |
| 972 | 974 |
| 973 // Address Line 1. | 975 // Address Line 1. |
| 974 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 976 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
| 975 // Address Line 2. | 977 // Address Line 2. |
| 976 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 978 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
| 977 // City. | 979 // City. |
| 978 EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(2)->heuristic_type()); | 980 EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(2)->heuristic_type()); |
| 979 } | 981 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 995 string16(), | 997 string16(), |
| 996 ASCIIToUTF16("text"), | 998 ASCIIToUTF16("text"), |
| 997 0)); | 999 0)); |
| 998 form.fields.push_back( | 1000 form.fields.push_back( |
| 999 webkit_glue::FormField(ASCIIToUTF16("State/Province/Region"), | 1001 webkit_glue::FormField(ASCIIToUTF16("State/Province/Region"), |
| 1000 ASCIIToUTF16("State"), | 1002 ASCIIToUTF16("State"), |
| 1001 string16(), | 1003 string16(), |
| 1002 ASCIIToUTF16("text"), | 1004 ASCIIToUTF16("text"), |
| 1003 0)); | 1005 0)); |
| 1004 form_structure.reset(new FormStructure(form)); | 1006 form_structure.reset(new FormStructure(form)); |
| 1005 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1007 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 1006 ASSERT_EQ(3U, form_structure->field_count()); | 1008 ASSERT_EQ(3U, form_structure->field_count()); |
| 1007 ASSERT_EQ(3U, form_structure->autofill_count()); | 1009 ASSERT_EQ(3U, form_structure->autofill_count()); |
| 1008 | 1010 |
| 1009 // Address Line 1. | 1011 // Address Line 1. |
| 1010 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); | 1012 EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(0)->heuristic_type()); |
| 1011 // Address Line 2. | 1013 // Address Line 2. |
| 1012 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); | 1014 EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(1)->heuristic_type()); |
| 1013 // State. | 1015 // State. |
| 1014 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure->field(2)->heuristic_type()); | 1016 EXPECT_EQ(ADDRESS_HOME_STATE, form_structure->field(2)->heuristic_type()); |
| 1015 } | 1017 } |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1080 string16(), | 1082 string16(), |
| 1081 ASCIIToUTF16("text"), | 1083 ASCIIToUTF16("text"), |
| 1082 0)); | 1084 0)); |
| 1083 form.fields.push_back( | 1085 form.fields.push_back( |
| 1084 webkit_glue::FormField(ASCIIToUTF16("Email Address*:"), | 1086 webkit_glue::FormField(ASCIIToUTF16("Email Address*:"), |
| 1085 ASCIIToUTF16("email$emailBox"), | 1087 ASCIIToUTF16("email$emailBox"), |
| 1086 string16(), | 1088 string16(), |
| 1087 ASCIIToUTF16("text"), | 1089 ASCIIToUTF16("text"), |
| 1088 0)); | 1090 0)); |
| 1089 form_structure.reset(new FormStructure(form)); | 1091 form_structure.reset(new FormStructure(form)); |
| 1090 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1092 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 1091 ASSERT_EQ(11U, form_structure->field_count()); | 1093 ASSERT_EQ(11U, form_structure->field_count()); |
| 1092 ASSERT_EQ(11U, form_structure->autofill_count()); | 1094 ASSERT_EQ(11U, form_structure->autofill_count()); |
| 1093 | 1095 |
| 1094 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 1096 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 1095 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 1097 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 1096 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); | 1098 EXPECT_EQ(COMPANY_NAME, form_structure->field(2)->heuristic_type()); |
| 1097 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(3)->heuristic_type()); | 1099 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(3)->heuristic_type()); |
| 1098 EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(4)->heuristic_type()); | 1100 EXPECT_EQ(ADDRESS_BILLING_LINE2, form_structure->field(4)->heuristic_type()); |
| 1099 EXPECT_EQ(ADDRESS_BILLING_CITY, form_structure->field(5)->heuristic_type()); | 1101 EXPECT_EQ(ADDRESS_BILLING_CITY, form_structure->field(5)->heuristic_type()); |
| 1100 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure->field(6)->heuristic_type()); | 1102 EXPECT_EQ(ADDRESS_BILLING_STATE, form_structure->field(6)->heuristic_type()); |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1129 string16(), | 1131 string16(), |
| 1130 ASCIIToUTF16("text"), | 1132 ASCIIToUTF16("text"), |
| 1131 0)); | 1133 0)); |
| 1132 form.fields.push_back( | 1134 form.fields.push_back( |
| 1133 webkit_glue::FormField(ASCIIToUTF16("ext.:"), | 1135 webkit_glue::FormField(ASCIIToUTF16("ext.:"), |
| 1134 ASCIIToUTF16("dayphone4"), | 1136 ASCIIToUTF16("dayphone4"), |
| 1135 string16(), | 1137 string16(), |
| 1136 ASCIIToUTF16("text"), | 1138 ASCIIToUTF16("text"), |
| 1137 0)); | 1139 0)); |
| 1138 form_structure.reset(new FormStructure(form)); | 1140 form_structure.reset(new FormStructure(form)); |
| 1139 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1141 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 1140 ASSERT_EQ(4U, form_structure->field_count()); | 1142 ASSERT_EQ(4U, form_structure->field_count()); |
| 1141 ASSERT_EQ(3U, form_structure->autofill_count()); | 1143 ASSERT_EQ(3U, form_structure->autofill_count()); |
| 1142 | 1144 |
| 1143 // Area code. | 1145 // Area code. |
| 1144 EXPECT_EQ(PHONE_HOME_CITY_CODE, form_structure->field(0)->heuristic_type()); | 1146 EXPECT_EQ(PHONE_HOME_CITY_CODE, form_structure->field(0)->heuristic_type()); |
| 1145 // Phone number suffix. | 1147 // Phone number suffix. |
| 1146 EXPECT_EQ(PHONE_HOME_NUMBER, | 1148 EXPECT_EQ(PHONE_HOME_NUMBER, |
| 1147 form_structure->field(1)->heuristic_type()); | 1149 form_structure->field(1)->heuristic_type()); |
| 1148 // Phone number suffix. | 1150 // Phone number suffix. |
| 1149 EXPECT_EQ(PHONE_HOME_NUMBER, | 1151 EXPECT_EQ(PHONE_HOME_NUMBER, |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1200 ASCIIToUTF16("state"), | 1202 ASCIIToUTF16("state"), |
| 1201 string16(), | 1203 string16(), |
| 1202 ASCIIToUTF16("hidden"), | 1204 ASCIIToUTF16("hidden"), |
| 1203 0)); | 1205 0)); |
| 1204 form.fields.push_back(webkit_glue::FormField(string16(), | 1206 form.fields.push_back(webkit_glue::FormField(string16(), |
| 1205 ASCIIToUTF16("Submit"), | 1207 ASCIIToUTF16("Submit"), |
| 1206 string16(), | 1208 string16(), |
| 1207 ASCIIToUTF16("submit"), | 1209 ASCIIToUTF16("submit"), |
| 1208 0)); | 1210 0)); |
| 1209 form_structure.reset(new FormStructure(form)); | 1211 form_structure.reset(new FormStructure(form)); |
| 1210 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1212 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 1211 | 1213 |
| 1212 // Expect the correct number of fields. | 1214 // Expect the correct number of fields. |
| 1213 ASSERT_EQ(10U, form_structure->field_count()); | 1215 ASSERT_EQ(10U, form_structure->field_count()); |
| 1214 ASSERT_EQ(6U, form_structure->autofill_count()); | 1216 ASSERT_EQ(6U, form_structure->autofill_count()); |
| 1215 | 1217 |
| 1216 // First name. | 1218 // First name. |
| 1217 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); | 1219 EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type()); |
| 1218 // Last name. | 1220 // Last name. |
| 1219 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); | 1221 EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type()); |
| 1220 // Email. | 1222 // Email. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 ASCIIToUTF16("expiration_month"), | 1261 ASCIIToUTF16("expiration_month"), |
| 1260 string16(), | 1262 string16(), |
| 1261 ASCIIToUTF16("text"), | 1263 ASCIIToUTF16("text"), |
| 1262 0)); | 1264 0)); |
| 1263 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"), | 1265 form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"), |
| 1264 ASCIIToUTF16("expiration_year"), | 1266 ASCIIToUTF16("expiration_year"), |
| 1265 string16(), | 1267 string16(), |
| 1266 ASCIIToUTF16("text"), | 1268 ASCIIToUTF16("text"), |
| 1267 0)); | 1269 0)); |
| 1268 form_structure.reset(new FormStructure(form)); | 1270 form_structure.reset(new FormStructure(form)); |
| 1269 EXPECT_TRUE(form_structure->IsAutoFillable()); | 1271 EXPECT_TRUE(form_structure->IsAutoFillable(true)); |
| 1270 | 1272 |
| 1271 // Expect the correct number of fields. | 1273 // Expect the correct number of fields. |
| 1272 ASSERT_EQ(5U, form_structure->field_count()); | 1274 ASSERT_EQ(5U, form_structure->field_count()); |
| 1273 ASSERT_EQ(5U, form_structure->autofill_count()); | 1275 ASSERT_EQ(5U, form_structure->autofill_count()); |
| 1274 | 1276 |
| 1275 // Name on Card. | 1277 // Name on Card. |
| 1276 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); | 1278 EXPECT_EQ(CREDIT_CARD_NAME, form_structure->field(0)->heuristic_type()); |
| 1277 // Address. | 1279 // Address. |
| 1278 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(1)->heuristic_type()); | 1280 EXPECT_EQ(ADDRESS_BILLING_LINE1, form_structure->field(1)->heuristic_type()); |
| 1279 // Card Number. | 1281 // Card Number. |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1539 } | 1541 } |
| 1540 form_structure.reset(new FormStructure(form)); | 1542 form_structure.reset(new FormStructure(form)); |
| 1541 ASSERT_EQ(form_structure->field_count(), possible_field_types.size()); | 1543 ASSERT_EQ(form_structure->field_count(), possible_field_types.size()); |
| 1542 for (size_t i = 0; i < form_structure->field_count(); ++i) | 1544 for (size_t i = 0; i < form_structure->field_count(); ++i) |
| 1543 form_structure->set_possible_types(i, possible_field_types[i]); | 1545 form_structure->set_possible_types(i, possible_field_types[i]); |
| 1544 EXPECT_FALSE(form_structure->EncodeUploadRequest(false, &encoded_xml)); | 1546 EXPECT_FALSE(form_structure->EncodeUploadRequest(false, &encoded_xml)); |
| 1545 EXPECT_EQ(encoded_xml, ""); | 1547 EXPECT_EQ(encoded_xml, ""); |
| 1546 } | 1548 } |
| 1547 | 1549 |
| 1548 } // namespace | 1550 } // namespace |
| OLD | NEW |