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

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

Issue 7576001: Refactor webkit_glue::FormField to remove hacky methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix copyright header Created 9 years, 4 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
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 0936300465dca521c9917e35fe97b9c1d906717a..4bfeb77822e5af5227684daaf800a9c5cc22cde8 100644
--- a/chrome/browser/autofill/form_structure_unittest.cc
+++ b/chrome/browser/autofill/form_structure_unittest.cc
@@ -13,6 +13,7 @@
#include "webkit/glue/form_field.h"
using webkit_glue::FormData;
+using webkit_glue::FormField;
using WebKit::WebInputElement;
namespace webkit_glue {
@@ -51,24 +52,23 @@ namespace {
TEST(FormStructureTest, FieldCount) {
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("username"),
- ASCIIToUTF16("username"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("password"),
- ASCIIToUTF16("password"),
- string16(),
- ASCIIToUTF16("password"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.label = ASCIIToUTF16("username");
+ field.name = ASCIIToUTF16("username");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("password");
+ field.name = ASCIIToUTF16("password");
+ field.form_control_type = ASCIIToUTF16("password");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
FormStructure form_structure(form);
// All fields are counted.
@@ -78,30 +78,28 @@ TEST(FormStructureTest, FieldCount) {
TEST(FormStructureTest, AutofillCount) {
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("username"),
- ASCIIToUTF16("username"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("password"),
- ASCIIToUTF16("password"),
- string16(),
- ASCIIToUTF16("password"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("state"),
- ASCIIToUTF16("state"),
- string16(),
- ASCIIToUTF16("select-one"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.label = ASCIIToUTF16("username");
+ field.name = ASCIIToUTF16("username");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("password");
+ field.name = ASCIIToUTF16("password");
+ field.form_control_type = ASCIIToUTF16("password");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("state");
+ field.name = ASCIIToUTF16("state");
+ field.form_control_type = ASCIIToUTF16("select-one");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
FormStructure form_structure(form);
form_structure.DetermineHeuristicTypes();
@@ -124,52 +122,48 @@ TEST(FormStructureTest, IsAutofillable) {
// We need at least three text fields to be auto-fillable.
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("username"),
- ASCIIToUTF16("username"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("password"),
- ASCIIToUTF16("password"),
- string16(),
- ASCIIToUTF16("password"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.label = ASCIIToUTF16("username");
+ field.name = ASCIIToUTF16("username");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("password");
+ field.name = ASCIIToUTF16("password");
+ field.form_control_type = ASCIIToUTF16("password");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_FALSE(form_structure->IsAutofillable(true));
// We now have three text fields, but only two auto-fillable fields.
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("firstname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("lastname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("firstname");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("lastname");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_FALSE(form_structure->IsAutofillable(true));
// We now have three auto-fillable fields.
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ field.form_control_type = ASCIIToUTF16("email");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -202,28 +196,27 @@ TEST(FormStructureTest, ShouldBeParsed) {
// We need at least three text fields to be parseable.
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("username"),
- ASCIIToUTF16("username"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.label = ASCIIToUTF16("username");
+ field.name = ASCIIToUTF16("username");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
EXPECT_FALSE(form_structure->ShouldBeParsed(true));
// We now have three text fields, though only two are auto-fillable.
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("firstname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("lastname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("firstname");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("lastname");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
EXPECT_TRUE(form_structure->ShouldBeParsed(true));
@@ -248,24 +241,22 @@ TEST(FormStructureTest, ShouldBeParsed) {
// The form need only have three fields, but at least one must be a text
// field.
form.fields.clear();
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Email"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("email"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("State"),
- ASCIIToUTF16("state"),
- string16(),
- ASCIIToUTF16("select-one"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Country"),
- ASCIIToUTF16("country"),
- string16(),
- ASCIIToUTF16("select-one"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ field.form_control_type = ASCIIToUTF16("email");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("State");
+ field.name = ASCIIToUTF16("state");
+ field.form_control_type = ASCIIToUTF16("select-one");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Country");
+ field.name = ASCIIToUTF16("country");
+ field.form_control_type = ASCIIToUTF16("select-one");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
EXPECT_TRUE(form_structure->ShouldBeParsed(true));
@@ -277,62 +268,48 @@ TEST(FormStructureTest, ShouldBeParsed) {
TEST(FormStructureTest, HeuristicsContactInfo) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("firstname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("lastname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("EMail"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Phone"),
- ASCIIToUTF16("phone"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Fax"),
- ASCIIToUTF16("fax"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("City"),
- ASCIIToUTF16("city"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Zip code"),
- ASCIIToUTF16("zipcode"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("firstname");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("lastname");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Phone");
+ field.name = ASCIIToUTF16("phone");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Fax");
+ field.name = ASCIIToUTF16("fax");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City");
+ field.name = ASCIIToUTF16("city");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Zip code");
+ field.name = ASCIIToUTF16("zipcode");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -365,78 +342,52 @@ TEST(FormStructureTest, HeuristicsContactInfo) {
TEST(FormStructureTest, HeuristicsSample8) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Your First Name:"),
- ASCIIToUTF16("bill.first"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Your Last Name:"),
- ASCIIToUTF16("bill.last"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Street Address Line 1:"),
- ASCIIToUTF16("bill.street1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Street Address Line 2:"),
- ASCIIToUTF16("bill.street2"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City:"),
- ASCIIToUTF16("bill.city"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("State (U.S.):"),
- ASCIIToUTF16("bill.state"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Zip/Postal Code:"),
- ASCIIToUTF16("BillTo.PostalCode"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Country:"),
- ASCIIToUTF16("bill.country"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Phone Number:"),
- ASCIIToUTF16("BillTo.Phone"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Your First Name:");
+ field.name = ASCIIToUTF16("bill.first");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Your Last Name:");
+ field.name = ASCIIToUTF16("bill.last");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Street Address Line 1:");
+ field.name = ASCIIToUTF16("bill.street1");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Street Address Line 2:");
+ field.name = ASCIIToUTF16("bill.street2");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City");
+ field.name = ASCIIToUTF16("bill.city");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("State (U.S.):");
+ field.name = ASCIIToUTF16("bill.state");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Zip/Postal Code:");
+ field.name = ASCIIToUTF16("BillTo.PostalCode");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Country:");
+ field.name = ASCIIToUTF16("bill.country");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Phone Number:");
+ field.name = ASCIIToUTF16("BillTo.Phone");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -470,59 +421,41 @@ TEST(FormStructureTest, HeuristicsSample8) {
TEST(FormStructureTest, HeuristicsSample6) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("E-mail address"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Full name"),
- ASCIIToUTF16("name"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Company"),
- ASCIIToUTF16("company"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City"),
- ASCIIToUTF16("city"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- // TODO(jhawkins): Add state select control.
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Zip Code"),
- ASCIIToUTF16("Home.PostalCode"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- // TODO(jhawkins): Phone number.
- form.fields.push_back(
- webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- ASCIIToUTF16("continue"),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("E-mail address");
+ field.name = ASCIIToUTF16("email");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Full name");
+ field.name = ASCIIToUTF16("name");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Company");
+ field.name = ASCIIToUTF16("company");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City");
+ field.name = ASCIIToUTF16("city");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Zip Code");
+ field.name = ASCIIToUTF16("Home.PostalCode");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.value = ASCIIToUTF16("continue");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -551,62 +484,48 @@ TEST(FormStructureTest, HeuristicsSample6) {
TEST(FormStructureTest, HeuristicsLabelsOnly) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("EMail"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Phone"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Fax"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Zip code"),
- string16(),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Phone");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Fax");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Zip code");
+ field.name = string16();
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -637,44 +556,36 @@ TEST(FormStructureTest, HeuristicsLabelsOnly) {
TEST(FormStructureTest, HeuristicsCreditCardInfo) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"),
- ASCIIToUTF16("name on card"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card Number"),
- ASCIIToUTF16("card_number"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Exp Month"),
- ASCIIToUTF16("ccmonth"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Exp Year"),
- ASCIIToUTF16("ccyear"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Verification"),
- ASCIIToUTF16("verification"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Name on Card");
+ field.name = ASCIIToUTF16("name_on_card");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Card Number");
+ field.name = ASCIIToUTF16("card_number");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Exp Month");
+ field.name = ASCIIToUTF16("ccmonth");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Exp Year");
+ field.name = ASCIIToUTF16("ccyear");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Verification");
+ field.name = ASCIIToUTF16("verification");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -699,52 +610,42 @@ TEST(FormStructureTest, HeuristicsCreditCardInfo) {
TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"),
- ASCIIToUTF16("name on card"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Name on Card");
+ field.name = ASCIIToUTF16("name_on_card");
+ form.fields.push_back(field);
+
// This is not a field we know how to process. But we should skip over it
// and process the other fields in the card block.
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card Type"),
- ASCIIToUTF16("card_type"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card Number"),
- ASCIIToUTF16("card_number"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Exp Month"),
- ASCIIToUTF16("ccmonth"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Exp Year"),
- ASCIIToUTF16("ccyear"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Verification"),
- ASCIIToUTF16("verification"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(string16(),
- ASCIIToUTF16("Submit"),
- string16(),
- ASCIIToUTF16("submit"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Card Type");
+ field.name = ASCIIToUTF16("card_type");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Card Number");
+ field.name = ASCIIToUTF16("card_number");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Exp Month");
+ field.name = ASCIIToUTF16("ccmonth");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Exp Year");
+ field.name = ASCIIToUTF16("ccyear");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Verification");
+ field.name = ASCIIToUTF16("verification");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("Submit");
+ field.form_control_type = ASCIIToUTF16("submit");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -771,36 +672,27 @@ TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
TEST(FormStructureTest, ThreeAddressLines) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
- ASCIIToUTF16("Address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
- ASCIIToUTF16("Address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line3"),
- ASCIIToUTF16("Address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City"),
- ASCIIToUTF16("city"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Address Line1");
+ field.name = ASCIIToUTF16("Address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line2");
+ field.name = ASCIIToUTF16("Address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line3");
+ field.name = ASCIIToUTF16("Address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City");
+ field.name = ASCIIToUTF16("city");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -822,36 +714,27 @@ TEST(FormStructureTest, ThreeAddressLines) {
TEST(FormStructureTest, BillingAndShippingAddresses) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
- ASCIIToUTF16("shipping.address.addressLine1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
- ASCIIToUTF16("shipping.address.addressLine2"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
- ASCIIToUTF16("billing.address.addressLine1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
- ASCIIToUTF16("billing.address.addressLine2"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Address Line1");
+ field.name = ASCIIToUTF16("shipping.address.addressLine1");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line2");
+ field.name = ASCIIToUTF16("shipping.address.addressLine2");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line1");
+ field.name = ASCIIToUTF16("billing.address.addressLine1");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line2");
+ field.name = ASCIIToUTF16("billing.address.addressLine2");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -877,36 +760,27 @@ TEST(FormStructureTest, BillingAndShippingAddresses) {
TEST(FormStructureTest, ThreeAddressLinesExpedia) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Street:"),
- ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_ads1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Suite or Apt:"),
- ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adap"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Street address second line"),
- ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_ads2"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City:"),
- ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Street:");
+ field.name = ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_ads1");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Suite or Apt:");
+ field.name = ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adap");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Street address second line");
+ field.name = ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_ads2");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City:");
+ field.name = ASCIIToUTF16("FOPIH_RgWebCC_0_IHAddress_adct");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -929,29 +803,23 @@ TEST(FormStructureTest, ThreeAddressLinesExpedia) {
TEST(FormStructureTest, TwoAddressLinesEbay) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
- ASCIIToUTF16("address1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Floor number, suite number, etc"),
- ASCIIToUTF16("address2"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City"),
- ASCIIToUTF16("city"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Address Line1");
+ field.name = ASCIIToUTF16("address1");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Floor number, suite number, etc");
+ field.name = ASCIIToUTF16("address2");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City:");
+ field.name = ASCIIToUTF16("city");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -969,29 +837,23 @@ TEST(FormStructureTest, TwoAddressLinesEbay) {
TEST(FormStructureTest, HeuristicsStateWithProvince) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line1"),
- ASCIIToUTF16("Address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address Line2"),
- ASCIIToUTF16("Address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("State/Province/Region"),
- ASCIIToUTF16("State"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Address Line1");
+ field.name = ASCIIToUTF16("Address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address Line2");
+ field.name = ASCIIToUTF16("Address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("State/Province/Region");
+ field.name = ASCIIToUTF16("State");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -1010,85 +872,55 @@ TEST(FormStructureTest, HeuristicsStateWithProvince) {
TEST(FormStructureTest, HeuristicsWithBilling) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("First Name*:"),
- ASCIIToUTF16("editBillingAddress$firstNameBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Last Name*:"),
- ASCIIToUTF16("editBillingAddress$lastNameBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Company Name:"),
- ASCIIToUTF16("editBillingAddress$companyBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address*:"),
- ASCIIToUTF16("editBillingAddress$addressLine1Box"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Apt/Suite :"),
- ASCIIToUTF16("editBillingAddress$addressLine2Box"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("City*:"),
- ASCIIToUTF16("editBillingAddress$cityBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("State/Province*:"),
- ASCIIToUTF16("editBillingAddress$stateDropDown"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Country*:"),
- ASCIIToUTF16("editBillingAddress$countryDropDown"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Postal Code*:"),
- ASCIIToUTF16("editBillingAddress$zipCodeBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Phone*:"),
- ASCIIToUTF16("editBillingAddress$phoneBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Email Address*:"),
- ASCIIToUTF16("email$emailBox"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("First Name*:");
+ field.name = ASCIIToUTF16("editBillingAddress$firstNameBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name*:");
+ field.name = ASCIIToUTF16("editBillingAddress$lastNameBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Company Name:");
+ field.name = ASCIIToUTF16("editBillingAddress$companyBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address*:");
+ field.name = ASCIIToUTF16("editBillingAddress$addressLine1Box");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Apt/Suite :");
+ field.name = ASCIIToUTF16("editBillingAddress$addressLine2Box");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("City*:");
+ field.name = ASCIIToUTF16("editBillingAddress$cityBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("State/Province*:");
+ field.name = ASCIIToUTF16("editBillingAddress$stateDropDown");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Country*:");
+ field.name = ASCIIToUTF16("editBillingAddress$countryDropDown");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Postal Code*:");
+ field.name = ASCIIToUTF16("editBillingAddress$zipCodeBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Phone*:");
+ field.name = ASCIIToUTF16("editBillingAddress$phoneBox");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Email Address*:");
+ field.name = ASCIIToUTF16("email$emailBox");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -1113,38 +945,33 @@ TEST(FormStructureTest, HeuristicsWithBilling) {
TEST(FormStructureTest, ThreePartPhoneNumber) {
scoped_ptr<FormStructure> form_structure;
FormData form;
-
form.method = ASCIIToUTF16("post");
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Phone:"),
- ASCIIToUTF16("dayphone1"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("-"),
- ASCIIToUTF16("dayphone2"),
- string16(),
- ASCIIToUTF16("text"),
- 3, // Size of prefix is 3.
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("-"),
- ASCIIToUTF16("dayphone3"),
- string16(),
- ASCIIToUTF16("text"),
- 4, // Size of suffix is 4. If unlimited size is
- // passed, phone will be parsed as
- // <country code> - <area code> - <phone>.
- false));
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("ext.:"),
- ASCIIToUTF16("dayphone4"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Phone:");
+ field.name = ASCIIToUTF16("dayphone1");
+ field.max_length = 0;
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("-");
+ field.name = ASCIIToUTF16("dayphone2");
+ field.max_length = 3; // Size of prefix is 3.
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("-");
+ field.name = ASCIIToUTF16("dayphone3");
+ field.max_length = 4; // Size of suffix is 4. If unlimited size is
+ // passed, phone will be parsed as
+ // <country code> - <area code> - <phone>.
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("ext.:");
+ field.name = ASCIIToUTF16("dayphone4");
+ field.max_length = 0;
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -1167,36 +994,30 @@ TEST(FormStructureTest, HeuristicsInfernoCC) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"),
- ASCIIToUTF16("name_on_card"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("billing_address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card Number"),
- ASCIIToUTF16("card_number"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Date"),
- ASCIIToUTF16("expiration_month"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"),
- ASCIIToUTF16("expiration_year"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Name on Card");
+ field.name = ASCIIToUTF16("name_on_card");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("billing_address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Card Number");
+ field.name = ASCIIToUTF16("card_number");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Expiration Date");
+ field.name = ASCIIToUTF16("expiration_month");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Expiration Year");
+ field.name = ASCIIToUTF16("expiration_year");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -1222,42 +1043,34 @@ TEST(FormStructureTest, CVCCodeClash) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card number"),
- ASCIIToUTF16("ccnumber"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First name"),
- ASCIIToUTF16("first_name"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last name"),
- ASCIIToUTF16("last_name"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration date"),
- ASCIIToUTF16("ccexpiresmonth"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16(""),
- ASCIIToUTF16("ccexpiresyear"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("cvc number"),
- ASCIIToUTF16("csc"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Card number");
+ field.name = ASCIIToUTF16("ccnumber");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("First name");
+ field.name = ASCIIToUTF16("first_name");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last name");
+ field.name = ASCIIToUTF16("last_name");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Expiration date");
+ field.name = ASCIIToUTF16("ccexpiresmonth");
+ form.fields.push_back(field);
+
+ field.label = string16();
+ field.name = ASCIIToUTF16("ccexpiresyear");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("cvc number");
+ field.name = ASCIIToUTF16("csc");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
EXPECT_TRUE(form_structure->IsAutofillable(true));
@@ -1284,36 +1097,30 @@ TEST(FormStructureTest, CVCCodeClash) {
TEST(FormStructureTest, EncodeQueryRequest) {
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Name on Card"),
- ASCIIToUTF16("name_on_card"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("billing_address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Card Number"),
- ASCIIToUTF16("card_number"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Date"),
- ASCIIToUTF16("expiration_month"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Expiration Year"),
- ASCIIToUTF16("expiration_year"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("Name on Card");
+ field.name = ASCIIToUTF16("name_on_card");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("billing_address");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Card Number");
+ field.name = ASCIIToUTF16("card_number");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Expiration Date");
+ field.name = ASCIIToUTF16("expiration_month");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Expiration Year");
+ field.name = ASCIIToUTF16("expiration_year");
+ form.fields.push_back(field);
+
ScopedVector<FormStructure> forms;
forms.push_back(new FormStructure(form));
std::vector<std::string> encoded_signatures;
@@ -1342,13 +1149,9 @@ TEST(FormStructureTest, EncodeQueryRequest) {
EXPECT_EQ(kResponse1, encoded_xml);
// Add 5 address fields - this should be still a valid form.
for (size_t i = 0; i < 5; ++i) {
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ form.fields.push_back(field);
}
forms.push_back(new FormStructure(form));
@@ -1375,13 +1178,9 @@ TEST(FormStructureTest, EncodeQueryRequest) {
// Add 50 address fields - the form is not valid anymore, but previous ones
// are. The result should be the same as in previous test.
for (size_t i = 0; i < 50; ++i) {
- form.fields.push_back(
- webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ form.fields.push_back(field);
}
forms.push_back(new FormStructure(form));
@@ -1408,52 +1207,47 @@ TEST(FormStructureTest, EncodeUploadRequest) {
form.method = ASCIIToUTF16("post");
form_structure.reset(new FormStructure(form));
form_structure->DetermineHeuristicTypes();
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("firstname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("firstname");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(NAME_FIRST);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("lastname"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("lastname");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(NAME_LAST);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("EMail"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("email"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ field.form_control_type = ASCIIToUTF16("email");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(EMAIL_ADDRESS);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Phone"),
- ASCIIToUTF16("phone"),
- string16(),
- ASCIIToUTF16("number"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Phone");
+ field.name = ASCIIToUTF16("phone");
+ field.form_control_type = ASCIIToUTF16("number");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(PHONE_HOME_WHOLE_NUMBER);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Country"),
- ASCIIToUTF16("country"),
- string16(),
- ASCIIToUTF16("select-one"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Country");
+ field.name = ASCIIToUTF16("country");
+ field.form_control_type = ASCIIToUTF16("select-one");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_COUNTRY);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Fax"),
- ASCIIToUTF16("fax"),
- string16(),
- ASCIIToUTF16("tel"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Fax");
+ field.name = ASCIIToUTF16("fax");
+ field.form_control_type = ASCIIToUTF16("tel");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(PHONE_FAX_WHOLE_NUMBER);
form_structure.reset(new FormStructure(form));
@@ -1506,12 +1300,10 @@ TEST(FormStructureTest, EncodeUploadRequest) {
// Add 2 address fields - this should be still a valid form.
for (size_t i = 0; i < 2; ++i) {
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_LINE1);
possible_field_types.back().insert(ADDRESS_HOME_LINE2);
@@ -1549,12 +1341,10 @@ TEST(FormStructureTest, EncodeUploadRequest) {
// Add 50 address fields - now the form is invalid, as it has too many fields.
for (size_t i = 0; i < 50; ++i) {
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ field.form_control_type = ASCIIToUTF16("text");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_LINE1);
possible_field_types.back().insert(ADDRESS_HOME_LINE2);
@@ -1574,24 +1364,21 @@ TEST(FormStructureTest, EncodeUploadRequest) {
TEST(FormStructureTest, CheckDataPresence) {
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("first"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("last"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("email"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("first");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("last");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ form.fields.push_back(field);
FormStructure form_structure(form);
@@ -1851,38 +1638,34 @@ TEST(FormStructureTest, CheckMultipleTypes) {
std::vector<FieldTypeSet> possible_field_types;
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("email"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("email");
+ field.name = ASCIIToUTF16("email");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(EMAIL_ADDRESS);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("first"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("first");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(NAME_FIRST);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Last Name"),
- ASCIIToUTF16("last"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("last");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(NAME_LAST);
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("Address"),
- ASCIIToUTF16("address"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ field.label = ASCIIToUTF16("Address");
+ field.name = ASCIIToUTF16("address");
+ form.fields.push_back(field);
possible_field_types.push_back(FieldTypeSet());
possible_field_types.back().insert(ADDRESS_HOME_LINE1);
+
form_structure.reset(new FormStructure(form));
for (size_t i = 0; i < form_structure->field_count(); ++i)
@@ -1963,18 +1746,18 @@ TEST(FormStructureTest, CheckFormSignature) {
scoped_ptr<FormStructure> form_structure;
FormData form;
form.method = ASCIIToUTF16("post");
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("email"),
- ASCIIToUTF16("email"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
- form.fields.push_back(webkit_glue::FormField(ASCIIToUTF16("First Name"),
- ASCIIToUTF16("first"),
- string16(),
- ASCIIToUTF16("text"),
- 0,
- false));
+
+ FormField field;
+ field.form_control_type = ASCIIToUTF16("text");
+
+ field.label = ASCIIToUTF16("email");
+ field.name = ASCIIToUTF16("email");
+ form.fields.push_back(field);
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("first");
+ form.fields.push_back(field);
+
form_structure.reset(new FormStructure(form));
EXPECT_EQ(FormStructureTest::Hash64Bit(
« no previous file with comments | « chrome/browser/autofill/credit_card_field_unittest.cc ('k') | chrome/browser/autofill/name_field_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698