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

Unified Diff: chrome/browser/autofill/form_structure_unittest.cc

Issue 11198048: [Autofill] Update the autocomplete types implementation to match the current HTML spec. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update AutofillFieldTest expectations Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/autofill/form_structure.cc ('k') | chrome/browser/autofill/name_field_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autofill/form_structure_unittest.cc
diff --git a/chrome/browser/autofill/form_structure_unittest.cc b/chrome/browser/autofill/form_structure_unittest.cc
index 64c8e17c46d07a8480dd903258ae42d320bdc42f..687c82938d0bd3c1679f3db785e3dbd02eadd7fd 100644
--- a/chrome/browser/autofill/form_structure_unittest.cc
+++ b/chrome/browser/autofill/form_structure_unittest.cc
@@ -52,17 +52,17 @@ TEST(FormStructureTest, FieldCount) {
FormFieldData field;
field.label = ASCIIToUTF16("username");
field.name = ASCIIToUTF16("username");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
field.label = ASCIIToUTF16("password");
field.name = ASCIIToUTF16("password");
- field.form_control_type = ASCIIToUTF16("password");
+ field.form_control_type = "password";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
FormStructure form_structure(form);
@@ -78,22 +78,22 @@ TEST(FormStructureTest, AutofillCount) {
FormFieldData field;
field.label = ASCIIToUTF16("username");
field.name = ASCIIToUTF16("username");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
field.label = ASCIIToUTF16("password");
field.name = ASCIIToUTF16("password");
- field.form_control_type = ASCIIToUTF16("password");
+ field.form_control_type = "password";
form.fields.push_back(field);
field.label = ASCIIToUTF16("state");
field.name = ASCIIToUTF16("state");
- field.form_control_type = ASCIIToUTF16("select-one");
+ field.form_control_type = "select-one";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
FormStructure form_structure(form);
@@ -122,17 +122,17 @@ TEST(FormStructureTest, IsAutofillable) {
FormFieldData field;
field.label = ASCIIToUTF16("username");
field.name = ASCIIToUTF16("username");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
field.label = ASCIIToUTF16("password");
field.name = ASCIIToUTF16("password");
- field.form_control_type = ASCIIToUTF16("password");
+ field.form_control_type = "password";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -142,12 +142,12 @@ TEST(FormStructureTest, IsAutofillable) {
// We now have three text fields, but only two auto-fillable fields.
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("firstname");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
field.label = ASCIIToUTF16("Last Name");
field.name = ASCIIToUTF16("lastname");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -157,7 +157,7 @@ TEST(FormStructureTest, IsAutofillable) {
// We now have three auto-fillable fields.
field.label = ASCIIToUTF16("Email");
field.name = ASCIIToUTF16("email");
- field.form_control_type = ASCIIToUTF16("email");
+ field.form_control_type = "email";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -196,7 +196,7 @@ TEST(FormStructureTest, ShouldBeParsed) {
FormFieldData field;
field.label = ASCIIToUTF16("username");
field.name = ASCIIToUTF16("username");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -205,12 +205,12 @@ TEST(FormStructureTest, ShouldBeParsed) {
// We now have three text fields, though only two are auto-fillable.
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("firstname");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
field.label = ASCIIToUTF16("Last Name");
field.name = ASCIIToUTF16("lastname");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -240,23 +240,23 @@ TEST(FormStructureTest, ShouldBeParsed) {
field.label = ASCIIToUTF16("Email");
field.name = ASCIIToUTF16("email");
- field.form_control_type = ASCIIToUTF16("email");
+ field.form_control_type = "email";
form.fields.push_back(field);
field.label = ASCIIToUTF16("State");
field.name = ASCIIToUTF16("state");
- field.form_control_type = ASCIIToUTF16("select-one");
+ field.form_control_type = "select-one";
form.fields.push_back(field);
field.label = ASCIIToUTF16("Country");
field.name = ASCIIToUTF16("country");
- field.form_control_type = ASCIIToUTF16("select-one");
+ field.form_control_type = "select-one";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
EXPECT_TRUE(form_structure->ShouldBeParsed(true));
- form.fields[0].form_control_type = ASCIIToUTF16("select-one");
+ form.fields[0].form_control_type = "select-one";
form_structure.reset(new FormStructure(form));
EXPECT_FALSE(form_structure->ShouldBeParsed(true));
}
@@ -267,7 +267,7 @@ TEST(FormStructureTest, HeuristicsContactInfo) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("firstname");
@@ -299,7 +299,7 @@ TEST(FormStructureTest, HeuristicsContactInfo) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -329,28 +329,28 @@ TEST(FormStructureTest, HeuristicsContactInfo) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(7)->heuristic_type());
}
-// Verify that we can correctly process the |autocompletetype| attribute.
-TEST(FormStructureTest, HeuristicsAutocompletetype) {
+// Verify that we can correctly process the |autocomplete| attribute.
+TEST(FormStructureTest, HeuristicsAutocompleteAttribute) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = string16();
field.name = ASCIIToUTF16("field1");
- field.autocomplete_type = ASCIIToUTF16("given-name");
+ field.autocomplete_attribute = "given-name";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("field2");
- field.autocomplete_type = ASCIIToUTF16("surname");
+ field.autocomplete_attribute = "family-name";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("field3");
- field.autocomplete_type = ASCIIToUTF16("email");
+ field.autocomplete_attribute = "email";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -366,29 +366,29 @@ TEST(FormStructureTest, HeuristicsAutocompletetype) {
EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type());
}
-// Verify that we can correctly process the |autocompletetype| attribute for
-// phone number types (especially phone prefixes and suffixes).
-TEST(FormStructureTest, HeuristicsAutocompletetypePhones) {
+// Verify that we can correctly process the 'autocomplete' attribute for phone
+// number types (especially phone prefixes and suffixes).
+TEST(FormStructureTest, HeuristicsAutocompleteAttributePhoneTypes) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = string16();
field.name = ASCIIToUTF16("field1");
- field.autocomplete_type = ASCIIToUTF16("phone-local");
+ field.autocomplete_attribute = "tel-local";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("field2");
- field.autocomplete_type = ASCIIToUTF16("phone-local-prefix");
+ field.autocomplete_attribute = "tel-local-prefix";
form.fields.push_back(field);
field.label = string16();
field.name = ASCIIToUTF16("field3");
- field.autocomplete_type = ASCIIToUTF16("phone-local-suffix");
+ field.autocomplete_attribute = "tel-local-suffix";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -409,16 +409,16 @@ TEST(FormStructureTest, HeuristicsAutocompletetypePhones) {
form_structure->field(2)->phone_part());
}
-// If at least one field includes the |autocompletetype| attribute, we should
-// not try to apply any other heuristics.
-TEST(FormStructureTest, AutocompletetypeOverridesOtherHeuristics) {
+// If at least one field includes type hints in the 'autocomplete' attribute, we
+// should not try to apply any other heuristics.
+TEST(FormStructureTest, AutocompleteAttributeOverridesOtherHeuristics) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
// Start with a regular contact form.
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("firstname");
@@ -444,8 +444,8 @@ TEST(FormStructureTest, AutocompletetypeOverridesOtherHeuristics) {
EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type());
EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(2)->heuristic_type());
- // Now update the first form field to include an 'autocompletetype' attribute.
- form.fields.front().autocomplete_type = ASCIIToUTF16("x-other");
+ // Now update the first form field to include an 'autocomplete' attribute.
+ form.fields.front().autocomplete_attribute = "x-other";
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_FALSE(form_structure->IsAutofillable(true));
@@ -461,124 +461,178 @@ TEST(FormStructureTest, AutocompletetypeOverridesOtherHeuristics) {
// Verify that we can correctly process sections listed in the |autocomplete|
// attribute.
-TEST(FormStructureTest, HeuristicsAutocompletetypeWithSections) {
- scoped_ptr<FormStructure> form_structure;
+TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSections) {
FormData form;
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
- // We expect "shipping" and "billing" to be the most common sections.
- field.label = string16();
- field.name = ASCIIToUTF16("field1");
- field.autocomplete_type = ASCIIToUTF16("section-shipping given-name");
+ // Some fields will have no section specified. These fall into the default
+ // section.
+ field.autocomplete_attribute = "email";
form.fields.push_back(field);
- // Some field will have no section specified. These fall into the default
- // section, with an empty name.
- field.label = string16();
- field.name = ASCIIToUTF16("field2");
- field.autocomplete_type = ASCIIToUTF16("surname");
+ // We allow arbitrary section names.
+ field.autocomplete_attribute = "section-foo email";
form.fields.push_back(field);
- // We allow arbitrary section names.
- field.label = string16();
- field.name = ASCIIToUTF16("field3");
- field.autocomplete_type = ASCIIToUTF16("section-foo address-line1");
+ // "shipping" and "billing" are special section tokens that don't require the
+ // "section-" prefix.
+ field.autocomplete_attribute = "shipping email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "billing email";
form.fields.push_back(field);
- // Specifying "section-" is equivalent to not specifying a section.
- field.label = string16();
- field.name = ASCIIToUTF16("field4");
- field.autocomplete_type = ASCIIToUTF16("section- address-line2");
+ // "shipping" and "billing" can be combined with other section names.
+ field.autocomplete_attribute = "section-foo shipping email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "section-foo billing email";
form.fields.push_back(field);
// We don't do anything clever to try to coalesce sections; it's up to site
// authors to avoid typos.
- field.label = string16();
- field.name = ASCIIToUTF16("field5");
- field.autocomplete_type = ASCIIToUTF16("section--shipping locality");
+ field.autocomplete_attribute = "section--foo email";
+ form.fields.push_back(field);
+
+ // "shipping email" and "section--shipping" email should be parsed as
+ // different sections. This is only an interesting test due to how we
+ // implement implicit section names from attributes like "shipping email"; see
+ // the implementation for more details.
+ field.autocomplete_attribute = "section--shipping email";
form.fields.push_back(field);
// Credit card fields are implicitly in a separate section from other fields.
- field.label = string16();
- field.name = ASCIIToUTF16("field6");
- field.autocomplete_type = ASCIIToUTF16("section-shipping cc-number");
+ field.autocomplete_attribute = "section-foo cc-number";
form.fields.push_back(field);
- form_structure.reset(new FormStructure(form));
- form_structure->DetermineHeuristicTypes();
- EXPECT_TRUE(form_structure->IsAutofillable(true));
+ FormStructure form_structure(form);
+ form_structure.DetermineHeuristicTypes();
+ EXPECT_TRUE(form_structure.IsAutofillable(true));
// Expect the correct number of fields.
- ASSERT_EQ(6U, form_structure->field_count());
- ASSERT_EQ(6U, form_structure->autofill_count());
-
- EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("shipping-default"),
- form_structure->field(0)->section());
- EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("-default"), form_structure->field(1)->section());
- EXPECT_EQ(ADDRESS_HOME_LINE1, form_structure->field(2)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("foo-default"), form_structure->field(2)->section());
- EXPECT_EQ(ADDRESS_HOME_LINE2, form_structure->field(3)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("-default"), form_structure->field(3)->section());
- EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(4)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("-shipping-default"),
- form_structure->field(4)->section());
- EXPECT_EQ(CREDIT_CARD_NUMBER, form_structure->field(5)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("shipping-cc"), form_structure->field(5)->section());
+ ASSERT_EQ(9U, form_structure.field_count());
+ EXPECT_EQ(9U, form_structure.autofill_count());
+
+ // All of the fields in this form should be parsed as belonging to different
+ // sections.
+ std::set<std::string> section_names;
+ for (size_t i = 0; i < 9; ++i) {
+ section_names.insert(form_structure.field(i)->section());
+ }
+ EXPECT_EQ(9U, section_names.size());
}
-// Verify that we can correctly process fallback types listed in the
-// |autocompletetype| attribute.
-TEST(FormStructureTest, HeuristicsAutocompletetypeWithFallbacks) {
- scoped_ptr<FormStructure> form_structure;
+// Verify that we can correctly process a degenerate section listed in the
+// |autocomplete| attribute.
+TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsDegenerate) {
FormData form;
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
- // Skip over any sections and "x"-prefixed types.
- field.label = string16();
- field.name = ASCIIToUTF16("field1");
- field.autocomplete_type =
- ASCIIToUTF16("section-full-name x-given-name-initial given-name");
+ // Some fields will have no section specified. These fall into the default
+ // section.
+ field.autocomplete_attribute = "email";
form.fields.push_back(field);
- // Stop processing once we see a known type.
- field.label = string16();
- field.name = ASCIIToUTF16("field2");
- field.autocomplete_type = ASCIIToUTF16("section-full-name surname full-name");
+ // Specifying "section-" is equivalent to not specifying a section.
+ field.autocomplete_attribute = "section- email";
form.fields.push_back(field);
- // Skip over unknown types even if they are not prefixed with "x-".
- field.label = string16();
- field.name = ASCIIToUTF16("field3");
- field.autocomplete_type =
- ASCIIToUTF16("section-shipping mobile-phone-full phone-full");
+ // Invalid tokens should prevent us from setting a section name.
+ field.autocomplete_attribute = "garbage section-foo email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "garbage section-bar email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "garbage shipping email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "garbage billing email";
form.fields.push_back(field);
- form_structure.reset(new FormStructure(form));
- form_structure->DetermineHeuristicTypes();
- EXPECT_TRUE(form_structure->IsAutofillable(true));
+ FormStructure form_structure(form);
+ form_structure.DetermineHeuristicTypes();
// Expect the correct number of fields.
- ASSERT_EQ(3U, form_structure->field_count());
- ASSERT_EQ(3U, form_structure->autofill_count());
+ ASSERT_EQ(6U, form_structure.field_count());
+ EXPECT_EQ(2U, form_structure.autofill_count());
+
+ // All of the fields in this form should be parsed as belonging to the same
+ // section.
+ std::set<std::string> section_names;
+ for (size_t i = 0; i < 6; ++i) {
+ section_names.insert(form_structure.field(i)->section());
+ }
+ EXPECT_EQ(1U, section_names.size());
+}
- EXPECT_EQ(NAME_FIRST, form_structure->field(0)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("full-name-default"),
- form_structure->field(0)->section());
- EXPECT_EQ(NAME_LAST, form_structure->field(1)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("full-name-default"),
- form_structure->field(1)->section());
- EXPECT_EQ(PHONE_HOME_WHOLE_NUMBER,
- form_structure->field(2)->heuristic_type());
- EXPECT_EQ(ASCIIToUTF16("shipping-default"),
- form_structure->field(2)->section());
+// Verify that we can correctly process repeated sections listed in the
+// |autocomplete| attribute.
+TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsRepeated) {
+ FormData form;
+ form.method = ASCIIToUTF16("post");
+
+ FormFieldData field;
+ field.form_control_type = "text";
+
+ field.autocomplete_attribute = "section-foo email";
+ form.fields.push_back(field);
+ field.autocomplete_attribute = "section-foo street-address";
+ form.fields.push_back(field);
+
+ FormStructure form_structure(form);
+ form_structure.DetermineHeuristicTypes();
+
+ // Expect the correct number of fields.
+ ASSERT_EQ(2U, form_structure.field_count());
+ EXPECT_EQ(2U, form_structure.autofill_count());
+
+ // All of the fields in this form should be parsed as belonging to the same
+ // section.
+ std::set<std::string> section_names;
+ for (size_t i = 0; i < 2; ++i) {
+ section_names.insert(form_structure.field(i)->section());
+ }
+ EXPECT_EQ(1U, section_names.size());
+}
+
+// Verify that we do not override the author-specified sections from a form with
+// local heuristics.
+TEST(FormStructureTest, HeuristicsDontOverrideAutocompleteAttributeSections) {
+ FormData form;
+ form.method = ASCIIToUTF16("post");
+
+ FormFieldData field;
+ field.form_control_type = "text";
+
+ field.name = ASCIIToUTF16("one");
+ field.autocomplete_attribute = "street-address";
+ form.fields.push_back(field);
+ field.name = string16();
+ field.autocomplete_attribute = "section-foo email";
+ form.fields.push_back(field);
+ field.name = string16();
+ field.autocomplete_attribute = "name";
+ form.fields.push_back(field);
+ field.name = ASCIIToUTF16("two");
+ field.autocomplete_attribute = "street-address";
+ form.fields.push_back(field);
+
+ FormStructure form_structure(form);
+ form_structure.DetermineHeuristicTypes();
+
+ // Expect the correct number of fields.
+ ASSERT_EQ(4U, form_structure.field_count());
+ EXPECT_EQ(4U, form_structure.autofill_count());
+
+ // Normally, the two separate address fields would cause us to detect two
+ // separate sections; but because there is an author-specified section in this
+ // form, we do not apply these usual heuristics.
+ EXPECT_EQ(ASCIIToUTF16("one"), form_structure.field(0)->name);
+ EXPECT_EQ(ASCIIToUTF16("two"), form_structure.field(3)->name);
+ EXPECT_EQ(form_structure.field(0)->section(),
+ form_structure.field(3)->section());
}
TEST(FormStructureTest, HeuristicsSample8) {
@@ -587,7 +641,7 @@ TEST(FormStructureTest, HeuristicsSample8) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Your First Name:");
field.name = ASCIIToUTF16("bill.first");
@@ -627,7 +681,7 @@ TEST(FormStructureTest, HeuristicsSample8) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -666,7 +720,7 @@ TEST(FormStructureTest, HeuristicsSample6) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("E-mail address");
field.name = ASCIIToUTF16("email");
@@ -695,7 +749,7 @@ TEST(FormStructureTest, HeuristicsSample6) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
field.value = ASCIIToUTF16("continue");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -729,7 +783,7 @@ TEST(FormStructureTest, HeuristicsLabelsOnly) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name");
field.name = string16();
@@ -761,7 +815,7 @@ TEST(FormStructureTest, HeuristicsLabelsOnly) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -795,7 +849,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfo) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Name on Card");
field.name = ASCIIToUTF16("name_on_card");
@@ -819,7 +873,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfo) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -849,7 +903,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Name on Card");
field.name = ASCIIToUTF16("name_on_card");
@@ -879,7 +933,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
field.label = string16();
field.name = ASCIIToUTF16("Submit");
- field.form_control_type = ASCIIToUTF16("submit");
+ field.form_control_type = "submit";
form.fields.push_back(field);
form_structure.reset(new FormStructure(form));
@@ -911,7 +965,7 @@ TEST(FormStructureTest, ThreeAddressLines) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Address Line1");
field.name = ASCIIToUTF16("Address");
@@ -953,7 +1007,7 @@ TEST(FormStructureTest, BillingAndShippingAddresses) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Address Line1");
field.name = ASCIIToUTF16("shipping.address.addressLine1");
@@ -999,7 +1053,7 @@ TEST(FormStructureTest, ThreeAddressLinesExpedia) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Street:");
field.name = ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_ads1");
@@ -1042,7 +1096,7 @@ TEST(FormStructureTest, TwoAddressLinesEbay) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Address Line1");
field.name = ASCIIToUTF16("address1");
@@ -1076,7 +1130,7 @@ TEST(FormStructureTest, HeuristicsStateWithProvince) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Address Line1");
field.name = ASCIIToUTF16("Address");
@@ -1111,7 +1165,7 @@ TEST(FormStructureTest, HeuristicsWithBilling) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name*:");
field.name = ASCIIToUTF16("editBillingAddress$firstNameBox");
@@ -1184,7 +1238,7 @@ TEST(FormStructureTest, ThreePartPhoneNumber) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Phone:");
field.name = ASCIIToUTF16("dayphone1");
@@ -1232,7 +1286,7 @@ TEST(FormStructureTest, HeuristicsInfernoCC) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Name on Card");
field.name = ASCIIToUTF16("name_on_card");
@@ -1281,7 +1335,7 @@ TEST(FormStructureTest, CVCCodeClash) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Card number");
field.name = ASCIIToUTF16("ccnumber");
@@ -1335,7 +1389,7 @@ TEST(FormStructureTest, EncodeQueryRequest) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("Name on Card");
field.name = ASCIIToUTF16("name_on_card");
@@ -1450,7 +1504,7 @@ TEST(FormStructureTest, EncodeUploadRequest) {
form_structure->DetermineHeuristicTypes();
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("firstname");
@@ -1466,21 +1520,21 @@ TEST(FormStructureTest, EncodeUploadRequest) {
field.label = ASCIIToUTF16("Email");
field.name = ASCIIToUTF16("email");
- field.form_control_type = ASCIIToUTF16("email");
+ field.form_control_type = "email";
form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(EMAIL_ADDRESS);
field.label = ASCIIToUTF16("Phone");
field.name = ASCIIToUTF16("phone");
- field.form_control_type = ASCIIToUTF16("number");
+ field.form_control_type = "number";
form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(PHONE_HOME_WHOLE_NUMBER);
field.label = ASCIIToUTF16("Country");
field.name = ASCIIToUTF16("country");
- field.form_control_type = ASCIIToUTF16("select-one");
+ field.form_control_type = "select-one";
form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_COUNTRY);
@@ -1533,7 +1587,7 @@ TEST(FormStructureTest, EncodeUploadRequest) {
for (size_t i = 0; i < 2; ++i) {
field.label = ASCIIToUTF16("Address");
field.name = ASCIIToUTF16("address");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_LINE1);
@@ -1573,7 +1627,7 @@ TEST(FormStructureTest, EncodeUploadRequest) {
for (size_t i = 0; i < 50; ++i) {
field.label = ASCIIToUTF16("Address");
field.name = ASCIIToUTF16("address");
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_LINE1);
@@ -1596,7 +1650,7 @@ TEST(FormStructureTest, CheckDataPresence) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("First Name");
field.name = ASCIIToUTF16("first");
@@ -1850,7 +1904,7 @@ TEST(FormStructureTest, CheckMultipleTypes) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("email");
field.name = ASCIIToUTF16("email");
@@ -1956,7 +2010,7 @@ TEST(FormStructureTest, CheckFormSignature) {
form.method = ASCIIToUTF16("post");
FormFieldData field;
- field.form_control_type = ASCIIToUTF16("text");
+ field.form_control_type = "text";
field.label = ASCIIToUTF16("email");
field.name = ASCIIToUTF16("email");
« no previous file with comments | « chrome/browser/autofill/form_structure.cc ('k') | chrome/browser/autofill/name_field_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698