summaryrefslogtreecommitdiffstats
path: root/chrome/browser/webdata
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-09 01:33:46 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-09 01:33:46 +0000
commiteb4b8b4779e5209e47f1002177786c2a51bf44b8 (patch)
treeb27812fd5d41ff8ce205753b34204e806972b2b4 /chrome/browser/webdata
parent0e7f8d0b2aaf1eea1671c1ea4a1352b827566f94 (diff)
downloadchromium_src-eb4b8b4779e5209e47f1002177786c2a51bf44b8.zip
chromium_src-eb4b8b4779e5209e47f1002177786c2a51bf44b8.tar.gz
chromium_src-eb4b8b4779e5209e47f1002177786c2a51bf44b8.tar.bz2
Refactor webkit_glue::FormField to remove hacky methods: Remove webkit_glue::FormField's unwieldy full constructor and StricktlyEqualsHack() method. The only clients are in test code, and we can better support these clients in other ways.
BUG=none TEST=none Review URL: http://codereview.chromium.org/7576001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95928 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/webdata')
-rw-r--r--chrome/browser/webdata/autofill_table_unittest.cc344
-rw-r--r--chrome/browser/webdata/web_data_service_unittest.cc11
2 files changed, 115 insertions, 240 deletions
diff --git a/chrome/browser/webdata/autofill_table_unittest.cc b/chrome/browser/webdata/autofill_table_unittest.cc
index 68ebd1c..70593bf 100644
--- a/chrome/browser/webdata/autofill_table_unittest.cc
+++ b/chrome/browser/webdata/autofill_table_unittest.cc
@@ -139,44 +139,23 @@ TEST_F(AutofillTableTest, Autofill) {
// Simulate the submission of a handful of entries in a field called "Name",
// some more often than others.
AutofillChangeList changes;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
std::vector<string16> v;
for (int i = 0; i < 5; i++) {
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Clark Kent"),
- string16(),
- 0,
- false),
- &changes));
+ field.value = ASCIIToUTF16("Clark Kent");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
}
for (int i = 0; i < 3; i++) {
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Clark Sutter"),
- string16(),
- 0,
- false),
- &changes));
+ field.value = ASCIIToUTF16("Clark Sutter");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
}
for (int i = 0; i < 2; i++) {
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("Favorite Color"),
- ASCIIToUTF16("Green"),
- string16(),
- 0,
- false),
- &changes));
+ field.name = ASCIIToUTF16("Favorite Color");
+ field.value = ASCIIToUTF16("Green");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
}
int count = 0;
@@ -184,37 +163,24 @@ TEST_F(AutofillTableTest, Autofill) {
// We have added the name Clark Kent 5 times, so count should be 5 and pair_id
// should be somthing non-zero.
- EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Clark Kent"),
- string16(),
- 0,
- false),
- &pair_id, &count));
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Clark Kent");
+ EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(field, &pair_id,
+ &count));
EXPECT_EQ(5, count);
EXPECT_NE(0, pair_id);
// Storing in the data base should be case sensitive, so there should be no
// database entry for clark kent lowercase.
- EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("clark kent"),
- string16(),
- 0,
- false),
- &pair_id, &count));
+ field.value = ASCIIToUTF16("clark kent");
+ EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(field, &pair_id,
+ &count));
EXPECT_EQ(0, count);
- EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
- FormField(string16(),
- ASCIIToUTF16("Favorite Color"),
- ASCIIToUTF16("Green"),
- string16(),
- 0,
- false),
- &pair_id, &count));
+ field.name = ASCIIToUTF16("Favorite Color");
+ field.value = ASCIIToUTF16("Green");
+ EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(field, &pair_id,
+ &count));
EXPECT_EQ(2, count);
// This is meant to get a list of suggestions for Name. The empty prefix
@@ -274,14 +240,10 @@ TEST_F(AutofillTableTest, Autofill) {
EXPECT_EQ(expected_changes[i], changes[i]);
}
- EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Clark Kent"),
- string16(),
- 0,
- false),
- &pair_id, &count));
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Clark Kent");
+ EXPECT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(field, &pair_id,
+ &count));
EXPECT_EQ(0, count);
EXPECT_TRUE(db.GetAutofillTable()->GetFormValuesForElementName(
@@ -290,38 +252,18 @@ TEST_F(AutofillTableTest, Autofill) {
// Now add some values with empty strings.
const string16 kValue = ASCIIToUTF16(" toto ");
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("blank"),
- string16(),
- string16(),
- 0,
- false),
- &changes));
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("blank"),
- ASCIIToUTF16(" "),
- string16(),
- 0,
- false),
- &changes));
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("blank"),
- ASCIIToUTF16(" "),
- string16(),
- 0,
- false),
- &changes));
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("blank"),
- kValue,
- string16(),
- 0,
- false),
- &changes));
+ field.name = ASCIIToUTF16("blank");
+ field.value = string16();
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
+ field.name = ASCIIToUTF16("blank");
+ field.value = ASCIIToUTF16(" ");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
+ field.name = ASCIIToUTF16("blank");
+ field.value = ASCIIToUTF16(" ");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
+ field.name = ASCIIToUTF16("blank");
+ field.value = kValue;
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
// They should be stored normally as the DB layer does not check for empty
// values.
@@ -350,24 +292,13 @@ TEST_F(AutofillTableTest, Autofill_RemoveBetweenChanges) {
Time t2 = t1 + one_day;
AutofillChangeList changes;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- t1));
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- t2));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes, t1));
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes, t2));
changes.clear();
EXPECT_TRUE(db.GetAutofillTable()->RemoveFormElementsAddedBetween(
@@ -397,15 +328,11 @@ TEST_F(AutofillTableTest, Autofill_AddChanges) {
Time t2 = t1 + one_day;
AutofillChangeList changes;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- t1));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes, t1));
ASSERT_EQ(1U, changes.size());
EXPECT_EQ(AutofillChange(AutofillChange::ADD,
AutofillKey(ASCIIToUTF16("Name"),
@@ -413,15 +340,8 @@ TEST_F(AutofillTableTest, Autofill_AddChanges) {
changes[0]);
changes.clear();
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- t2));
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes, t2));
ASSERT_EQ(1U, changes.size());
EXPECT_EQ(AutofillChange(AutofillChange::UPDATE,
AutofillKey(ASCIIToUTF16("Name"),
@@ -438,12 +358,9 @@ TEST_F(AutofillTableTest, Autofill_UpdateOneWithOneTimestamp) {
entries.push_back(entry);
ASSERT_TRUE(db.GetAutofillTable()->UpdateAutofillEntries(entries));
- FormField field(string16(),
- ASCIIToUTF16("foo"),
- ASCIIToUTF16("bar"),
- string16(),
- 0,
- false);
+ FormField field;
+ field.name = ASCIIToUTF16("foo");
+ field.value = ASCIIToUTF16("bar");
int64 pair_id;
int count;
ASSERT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
@@ -466,12 +383,9 @@ TEST_F(AutofillTableTest, Autofill_UpdateOneWithTwoTimestamps) {
entries.push_back(entry);
ASSERT_TRUE(db.GetAutofillTable()->UpdateAutofillEntries(entries));
- FormField field(string16(),
- ASCIIToUTF16("foo"),
- ASCIIToUTF16("bar"),
- string16(),
- 0,
- false);
+ FormField field;
+ field.name = ASCIIToUTF16("foo");
+ field.value = ASCIIToUTF16("bar");
int64 pair_id;
int count;
ASSERT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
@@ -514,12 +428,9 @@ TEST_F(AutofillTableTest, Autofill_UpdateTwo) {
entries.push_back(entry1);
ASSERT_TRUE(db.GetAutofillTable()->UpdateAutofillEntries(entries));
- FormField field0(string16(),
- ASCIIToUTF16("foo"),
- ASCIIToUTF16("bar0"),
- string16(),
- 0,
- false);
+ FormField field0;
+ field0.name = ASCIIToUTF16("foo");
+ field0.value = ASCIIToUTF16("bar0");
int64 pair_id;
int count;
ASSERT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
@@ -527,12 +438,9 @@ TEST_F(AutofillTableTest, Autofill_UpdateTwo) {
EXPECT_LE(0, pair_id);
EXPECT_EQ(1, count);
- FormField field1(string16(),
- ASCIIToUTF16("foo"),
- ASCIIToUTF16("bar1"),
- string16(),
- 0,
- false);
+ FormField field1;
+ field1.name = ASCIIToUTF16("foo");
+ field1.value = ASCIIToUTF16("bar1");
ASSERT_TRUE(db.GetAutofillTable()->GetIDAndCountOfFormElement(
field1, &pair_id, &count));
EXPECT_LE(0, pair_id);
@@ -545,14 +453,10 @@ TEST_F(AutofillTableTest, Autofill_UpdateReplace) {
AutofillChangeList changes;
// Add a form field. This will be replaced.
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValue(field, &changes));
AutofillEntry entry(MakeAutofillEntry("Name", "Superman", 1, 2));
std::vector<AutofillEntry> entries;
@@ -575,15 +479,10 @@ TEST_F(AutofillTableTest, Autofill_UpdateDontReplace) {
AutofillChangeList changes;
// Add a form field. This will NOT be replaced.
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- existing.key().name(),
- existing.key().value(),
- string16(),
- 0,
- false),
- &changes,
- t));
+ FormField field;
+ field.name = existing.key().name();
+ field.value = existing.key().value();
+ EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(field, &changes, t));
AutofillEntry entry(MakeAutofillEntry("Name", "Clark Kent", 1, 2));
std::vector<AutofillEntry> entries;
entries.push_back(entry);
@@ -609,30 +508,22 @@ TEST_F(AutofillTableTest, Autofill_AddFormFieldValues) {
// first value of each gets added. Related to security issue:
// http://crbug.com/51727.
std::vector<FormField> elements;
- elements.push_back(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Joe"),
- string16(),
- 0,
- false));
- elements.push_back(FormField(string16(),
- ASCIIToUTF16("firstname"),
- ASCIIToUTF16("Jane"),
- string16(),
- 0,
- false));
- elements.push_back(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Smith"),
- string16(),
- 0,
- false));
- elements.push_back(FormField(string16(),
- ASCIIToUTF16("lastname"),
- ASCIIToUTF16("Jones"),
- string16(),
- 0,
- false));
+ FormField field;
+ field.name = ASCIIToUTF16("firstname");
+ field.value = ASCIIToUTF16("Joe");
+ elements.push_back(field);
+
+ field.name = ASCIIToUTF16("firstname");
+ field.value = ASCIIToUTF16("Jane");
+ elements.push_back(field);
+
+ field.name = ASCIIToUTF16("lastname");
+ field.value = ASCIIToUTF16("Smith");
+ elements.push_back(field);
+
+ field.name = ASCIIToUTF16("lastname");
+ field.value = ASCIIToUTF16("Jones");
+ elements.push_back(field);
std::vector<AutofillChange> changes;
db.GetAutofillTable()->AddFormFieldValuesTime(elements, &changes, t);
@@ -1462,15 +1353,12 @@ TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_OneResult) {
time_t start = 0;
std::vector<Time> timestamps1;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- Time::FromTimeT(start)));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes,
+ Time::FromTimeT(start)));
timestamps1.push_back(Time::FromTimeT(start));
std::string key1("NameSuperman");
name_value_times_map.insert(std::pair<std::string,
@@ -1507,15 +1395,12 @@ TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_TwoDistinct) {
time_t start = 0;
std::vector<Time> timestamps1;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- Time::FromTimeT(start)));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes,
+ Time::FromTimeT(start)));
timestamps1.push_back(Time::FromTimeT(start));
std::string key1("NameSuperman");
name_value_times_map.insert(std::pair<std::string,
@@ -1523,15 +1408,11 @@ TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_TwoDistinct) {
start++;
std::vector<Time> timestamps2;
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Clark Kent"),
- string16(),
- 0,
- false),
- &changes,
- Time::FromTimeT(start)));
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Clark Kent");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes,
+ Time::FromTimeT(start)));
timestamps2.push_back(Time::FromTimeT(start));
std::string key2("NameClark Kent");
name_value_times_map.insert(std::pair<std::string,
@@ -1572,15 +1453,12 @@ TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_TwoSame) {
time_t start = 0;
std::vector<Time> timestamps;
for (int i = 0; i < 2; i++) {
- EXPECT_TRUE(db.GetAutofillTable()->AddFormFieldValueTime(
- FormField(string16(),
- ASCIIToUTF16("Name"),
- ASCIIToUTF16("Superman"),
- string16(),
- 0,
- false),
- &changes,
- Time::FromTimeT(start)));
+ FormField field;
+ field.name = ASCIIToUTF16("Name");
+ field.value = ASCIIToUTF16("Superman");
+ EXPECT_TRUE(
+ db.GetAutofillTable()->AddFormFieldValueTime(field, &changes,
+ Time::FromTimeT(start)));
timestamps.push_back(Time::FromTimeT(start));
start++;
}
diff --git a/chrome/browser/webdata/web_data_service_unittest.cc b/chrome/browser/webdata/web_data_service_unittest.cc
index b911d71..3a399b8 100644
--- a/chrome/browser/webdata/web_data_service_unittest.cc
+++ b/chrome/browser/webdata/web_data_service_unittest.cc
@@ -129,13 +129,10 @@ class WebDataServiceAutofillTest : public WebDataServiceTest {
void AppendFormField(const string16& name,
const string16& value,
std::vector<webkit_glue::FormField>* form_fields) {
- form_fields->push_back(
- webkit_glue::FormField(string16(),
- name,
- value,
- string16(),
- 0,
- false));
+ webkit_glue::FormField field;
+ field.name = name;
+ field.value = value;
+ form_fields->push_back(field);
}
string16 name1_;