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

Unified Diff: chrome/browser/webdata/web_database_unittest.cc

Issue 3143005: Autocomplete entries submitted are limited in number. (Closed)
Patch Set: Addressing nits. Created 10 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
« no previous file with comments | « chrome/browser/webdata/web_database.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/webdata/web_database_unittest.cc
diff --git a/chrome/browser/webdata/web_database_unittest.cc b/chrome/browser/webdata/web_database_unittest.cc
index 1daa2ed0a61ca9386158edf74191e9368bcd3848..566d042316a0ba784697cd379c4f202dd9433e6c 100644
--- a/chrome/browser/webdata/web_database_unittest.cc
+++ b/chrome/browser/webdata/web_database_unittest.cc
@@ -906,6 +906,53 @@ TEST_F(WebDatabaseTest, Autofill_UpdateDontReplace) {
EXPECT_EQ(1U, expected_entries.count(entry));
}
+TEST_F(WebDatabaseTest, Autofill_AddFormFieldValues) {
+ WebDatabase db;
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_));
+
+ Time t = Time::Now();
+
+ // Add multiple values for "firstname" and "lastname" names. Test that only
+ // 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));
+ elements.push_back(FormField(string16(),
+ ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Jane"),
+ string16(),
+ 0));
+ elements.push_back(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Smith"),
+ string16(),
+ 0));
+ elements.push_back(FormField(string16(),
+ ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Jones"),
+ string16(),
+ 0));
+
+ std::vector<AutofillChange> changes;
+ db.AddFormFieldValuesTime(elements, &changes, t);
+
+ ASSERT_EQ(2U, changes.size());
+ EXPECT_EQ(changes[0], AutofillChange(AutofillChange::ADD,
+ AutofillKey(ASCIIToUTF16("firstname"),
+ ASCIIToUTF16("Joe"))));
+ EXPECT_EQ(changes[1], AutofillChange(AutofillChange::ADD,
+ AutofillKey(ASCIIToUTF16("lastname"),
+ ASCIIToUTF16("Smith"))));
+
+ std::vector<AutofillEntry> all_entries;
+ ASSERT_TRUE(db.GetAllAutofillEntries(&all_entries));
+ ASSERT_EQ(2U, all_entries.size());
+}
+
static bool AddTimestampedLogin(WebDatabase* db, std::string url,
const std::string& unique_string,
const Time& time) {
« no previous file with comments | « chrome/browser/webdata/web_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698