summaryrefslogtreecommitdiffstats
path: root/chrome/browser/webdata/web_database_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/webdata/web_database_unittest.cc')
-rw-r--r--chrome/browser/webdata/web_database_unittest.cc439
1 files changed, 42 insertions, 397 deletions
diff --git a/chrome/browser/webdata/web_database_unittest.cc b/chrome/browser/webdata/web_database_unittest.cc
index 4c7baa9..0c9b758 100644
--- a/chrome/browser/webdata/web_database_unittest.cc
+++ b/chrome/browser/webdata/web_database_unittest.cc
@@ -149,23 +149,6 @@ void AutoFillProfile32FromStatement(const sql::Statement& s,
*date_modified = s.ColumnInt64(15);
}
-void AutoFillProfile33FromStatement(const sql::Statement& s,
- AutoFillProfile* profile,
- int64* date_modified) {
- DCHECK(profile);
- DCHECK(date_modified);
- profile->set_guid(s.ColumnString(0));
- EXPECT_TRUE(guid::IsValidGUID(profile->guid()));
- profile->SetInfo(AutoFillType(COMPANY_NAME), s.ColumnString16(1));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_LINE1), s.ColumnString16(2));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_LINE2), s.ColumnString16(3));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_CITY), s.ColumnString16(4));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_STATE), s.ColumnString16(5));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_ZIP), s.ColumnString16(6));
- profile->SetInfo(AutoFillType(ADDRESS_HOME_COUNTRY), s.ColumnString16(7));
- *date_modified = s.ColumnInt64(8);
-}
-
void CreditCard31FromStatement(const sql::Statement& s,
CreditCard* credit_card,
string16* label,
@@ -197,24 +180,27 @@ void CreditCard31FromStatement(const sql::Statement& s,
void CreditCard32FromStatement(const sql::Statement& s,
CreditCard* credit_card,
+ string16* label,
std::string* encrypted_number,
int64* date_modified) {
DCHECK(credit_card);
+ DCHECK(label);
DCHECK(encrypted_number);
DCHECK(date_modified);
credit_card->set_guid(s.ColumnString(0));
EXPECT_TRUE(guid::IsValidGUID(credit_card->guid()));
- credit_card->SetInfo(AutoFillType(CREDIT_CARD_NAME), s.ColumnString16(1));
+ *label = s.ColumnString16(1);
+ credit_card->SetInfo(AutoFillType(CREDIT_CARD_NAME), s.ColumnString16(2));
credit_card->SetInfo(AutoFillType(CREDIT_CARD_EXP_MONTH),
- s.ColumnString16(2));
- credit_card->SetInfo(AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR),
s.ColumnString16(3));
- int encrypted_number_len = s.ColumnByteLength(4);
+ credit_card->SetInfo(AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR),
+ s.ColumnString16(4));
+ int encrypted_number_len = s.ColumnByteLength(5);
if (encrypted_number_len) {
encrypted_number->resize(encrypted_number_len);
- memcpy(&(*encrypted_number)[0], s.ColumnBlob(4), encrypted_number_len);
+ memcpy(&(*encrypted_number)[0], s.ColumnBlob(5), encrypted_number_len);
}
- *date_modified = s.ColumnInt64(5);
+ *date_modified = s.ColumnInt64(6);
}
} // namespace
@@ -1472,7 +1458,7 @@ TEST_F(WebDatabaseTest, AutoFillProfile) {
EXPECT_FALSE(s_billing.Step());
delete db_profile;
- // Update the 'Billing' profile, name only.
+ // Update the 'Billing' profile.
billing_profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Jane"));
Time pre_modification_time = Time::Now();
EXPECT_TRUE(db.UpdateAutoFillProfile(billing_profile));
@@ -1491,45 +1477,6 @@ TEST_F(WebDatabaseTest, AutoFillProfile) {
EXPECT_FALSE(s_billing_updated.Step());
delete db_profile;
- // Update the 'Billing' profile.
- billing_profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Janice"));
- billing_profile.SetInfo(AutoFillType(NAME_MIDDLE), ASCIIToUTF16("C."));
- billing_profile.SetInfo(AutoFillType(NAME_FIRST), ASCIIToUTF16("Joplin"));
- billing_profile.SetInfo(AutoFillType(EMAIL_ADDRESS),
- ASCIIToUTF16("jane@singer.com"));
- billing_profile.SetInfo(AutoFillType(COMPANY_NAME), ASCIIToUTF16("Indy"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_LINE1),
- ASCIIToUTF16("Open Road"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_LINE2),
- ASCIIToUTF16("Route 66"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_CITY),
- ASCIIToUTF16("NFA"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_STATE), ASCIIToUTF16("NY"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_ZIP),
- ASCIIToUTF16("10011"));
- billing_profile.SetInfo(AutoFillType(ADDRESS_HOME_COUNTRY),
- ASCIIToUTF16("USA"));
- billing_profile.SetInfo(AutoFillType(PHONE_HOME_WHOLE_NUMBER),
- ASCIIToUTF16("18181230000"));
- billing_profile.SetInfo(AutoFillType(PHONE_FAX_WHOLE_NUMBER),
- ASCIIToUTF16("1915240000"));
- Time pre_modification_time_2 = Time::Now();
- EXPECT_TRUE(db.UpdateAutoFillProfile(billing_profile));
- Time post_modification_time_2 = Time::Now();
- ASSERT_TRUE(db.GetAutoFillProfile(billing_profile.guid(), &db_profile));
- EXPECT_EQ(billing_profile, *db_profile);
- sql::Statement s_billing_updated_2(db.db_.GetUniqueStatement(
- "SELECT date_modified FROM autofill_profiles WHERE guid=?"));
- s_billing_updated_2.BindString(0, billing_profile.guid());
- ASSERT_TRUE(s_billing_updated_2);
- ASSERT_TRUE(s_billing_updated_2.Step());
- EXPECT_GE(s_billing_updated_2.ColumnInt64(0),
- pre_modification_time_2.ToTimeT());
- EXPECT_LE(s_billing_updated_2.ColumnInt64(0),
- post_modification_time_2.ToTimeT());
- EXPECT_FALSE(s_billing_updated_2.Step());
- delete db_profile;
-
// Remove the 'Billing' profile.
EXPECT_TRUE(db.RemoveAutoFillProfile(billing_profile.guid()));
EXPECT_FALSE(db.GetAutoFillProfile(billing_profile.guid(), &db_profile));
@@ -1560,14 +1507,14 @@ TEST_F(WebDatabaseTest, CreditCard) {
ASSERT_TRUE(db.GetCreditCard(work_creditcard.guid(), &db_creditcard));
EXPECT_EQ(work_creditcard, *db_creditcard);
sql::Statement s_work(db.db_.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, expiration_year, "
+ "SELECT guid, label, name_on_card, expiration_month, expiration_year, "
"card_number_encrypted, date_modified "
"FROM credit_cards WHERE guid=?"));
s_work.BindString(0, work_creditcard.guid());
ASSERT_TRUE(s_work);
ASSERT_TRUE(s_work.Step());
- EXPECT_GE(s_work.ColumnInt64(5), pre_creation_time.ToTimeT());
- EXPECT_LE(s_work.ColumnInt64(5), post_creation_time.ToTimeT());
+ EXPECT_GE(s_work.ColumnInt64(6), pre_creation_time.ToTimeT());
+ EXPECT_LE(s_work.ColumnInt64(6), post_creation_time.ToTimeT());
EXPECT_FALSE(s_work.Step());
delete db_creditcard;
@@ -1588,14 +1535,14 @@ TEST_F(WebDatabaseTest, CreditCard) {
ASSERT_TRUE(db.GetCreditCard(target_creditcard.guid(), &db_creditcard));
EXPECT_EQ(target_creditcard, *db_creditcard);
sql::Statement s_target(db.db_.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, expiration_year, "
+ "SELECT guid, label, name_on_card, expiration_month, expiration_year, "
"card_number_encrypted, date_modified "
"FROM credit_cards WHERE guid=?"));
s_target.BindString(0, target_creditcard.guid());
ASSERT_TRUE(s_target);
ASSERT_TRUE(s_target.Step());
- EXPECT_GE(s_target.ColumnInt64(5), pre_creation_time.ToTimeT());
- EXPECT_LE(s_target.ColumnInt64(5), post_creation_time.ToTimeT());
+ EXPECT_GE(s_target.ColumnInt64(6), pre_creation_time.ToTimeT());
+ EXPECT_LE(s_target.ColumnInt64(6), post_creation_time.ToTimeT());
EXPECT_FALSE(s_target.Step());
delete db_creditcard;
@@ -1608,14 +1555,16 @@ TEST_F(WebDatabaseTest, CreditCard) {
ASSERT_TRUE(db.GetCreditCard(target_creditcard.guid(), &db_creditcard));
EXPECT_EQ(target_creditcard, *db_creditcard);
sql::Statement s_target_updated(db.db_.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, expiration_year, "
+ "SELECT guid, label, name_on_card, expiration_month, expiration_year, "
"card_number_encrypted, date_modified "
"FROM credit_cards WHERE guid=?"));
s_target_updated.BindString(0, target_creditcard.guid());
ASSERT_TRUE(s_target_updated);
ASSERT_TRUE(s_target_updated.Step());
- EXPECT_GE(s_target_updated.ColumnInt64(5), pre_modification_time.ToTimeT());
- EXPECT_LE(s_target_updated.ColumnInt64(5), post_modification_time.ToTimeT());
+ EXPECT_GE(s_target_updated.ColumnInt64(6),
+ pre_modification_time.ToTimeT());
+ EXPECT_LE(s_target_updated.ColumnInt64(6),
+ post_modification_time.ToTimeT());
EXPECT_FALSE(s_target_updated.Step());
delete db_creditcard;
@@ -2104,7 +2053,7 @@ class WebDatabaseMigrationTest : public testing::Test {
DISALLOW_COPY_AND_ASSIGN(WebDatabaseMigrationTest);
};
-const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 33;
+const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 32;
void WebDatabaseMigrationTest::LoadDatabase(const FilePath& file) {
std::string contents;
@@ -2442,13 +2391,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion26ToCurrentStringLabels) {
// Verify the credit card data is converted.
sql::Statement s(connection.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, expiration_year, "
+ "SELECT guid, label, name_on_card, expiration_month, expiration_year, "
"card_number_encrypted, date_modified "
"FROM credit_cards"));
ASSERT_TRUE(s.Step());
- EXPECT_EQ("Jack", s.ColumnString(1));
- EXPECT_EQ(2, s.ColumnInt(2));
- EXPECT_EQ(2012, s.ColumnInt(3));
+ EXPECT_EQ("label", s.ColumnString(1));
+ EXPECT_EQ("Jack", s.ColumnString(2));
+ EXPECT_EQ(2, s.ColumnInt(3));
+ EXPECT_EQ(2012, s.ColumnInt(4));
// Column 5 is encrypted number blob.
// Column 6 is date_modified.
}
@@ -2517,13 +2467,14 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion26ToCurrentStringIDs) {
// Verify the credit card data is converted.
sql::Statement s(connection.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, expiration_year, "
+ "SELECT guid, label, name_on_card, expiration_month, expiration_year, "
"card_number_encrypted, date_modified "
"FROM credit_cards"));
ASSERT_TRUE(s.Step());
- EXPECT_EQ("Jack", s.ColumnString(1));
- EXPECT_EQ(2, s.ColumnInt(2));
- EXPECT_EQ(2012, s.ColumnInt(3));
+ EXPECT_EQ("label", s.ColumnString(1));
+ EXPECT_EQ("Jack", s.ColumnString(2));
+ EXPECT_EQ(2, s.ColumnInt(3));
+ EXPECT_EQ(2012, s.ColumnInt(4));
// Column 5 is encrypted credit card number blob.
// Column 6 is date_modified.
}
@@ -2788,35 +2739,24 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion31ToCurrent) {
// Verify data in the database after the migration.
sql::Statement s1(
connection.GetUniqueStatement(
- "SELECT guid, company_name, address_line_1, address_line_2, "
- "city, state, zipcode, country, date_modified "
+ "SELECT guid, label, first_name, middle_name, last_name, "
+ "email, company_name, address_line_1, address_line_2, city, state, "
+ "zipcode, country, phone, fax, date_modified "
"FROM autofill_profiles"));
ASSERT_TRUE(s1.Step());
AutoFillProfile profile_a;
+ string16 profile_label_a;
int64 profile_date_modified_a = 0;
- EXPECT_NO_FATAL_FAILURE(AutoFillProfile33FromStatement(
- s1, &profile_a, &profile_date_modified_a));
- EXPECT_EQ(profile.guid(), profile_a.guid());
- EXPECT_EQ(profile.GetFieldText(AutoFillType(COMPANY_NAME)),
- profile_a.GetFieldText(AutoFillType(COMPANY_NAME)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_LINE1)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_LINE1)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_LINE2)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_LINE2)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_CITY)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_CITY)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_STATE)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_STATE)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_ZIP)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_ZIP)));
- EXPECT_EQ(profile.GetFieldText(AutoFillType(ADDRESS_HOME_COUNTRY)),
- profile_a.GetFieldText(AutoFillType(ADDRESS_HOME_COUNTRY)));
+ EXPECT_NO_FATAL_FAILURE(AutoFillProfile32FromStatement(
+ s1, &profile_a, &profile_label_a, &profile_date_modified_a));
+ EXPECT_EQ(profile, profile_a);
+ EXPECT_EQ(profile_label, profile_label_a);
EXPECT_EQ(profile_date_modified, profile_date_modified_a);
sql::Statement s2(
connection.GetUniqueStatement(
- "SELECT guid, name_on_card, expiration_month, "
+ "SELECT guid, label, name_on_card, expiration_month, "
"expiration_year, card_number_encrypted, date_modified "
"FROM credit_cards"));
ASSERT_TRUE(s2.Step());
@@ -2827,6 +2767,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion31ToCurrent) {
int64 cc_date_modified_a = 0;
EXPECT_NO_FATAL_FAILURE(CreditCard32FromStatement(s2,
&credit_card_a,
+ &cc_label_a,
&cc_number_encrypted_a,
&cc_date_modified_a));
EXPECT_EQ(credit_card, credit_card_a);
@@ -2835,299 +2776,3 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion31ToCurrent) {
EXPECT_EQ(cc_date_modified, cc_date_modified_a);
}
}
-
-// Factor |autofill_profiles| address information separately from name, email,
-// and phone.
-TEST_F(WebDatabaseMigrationTest, MigrateVersion32ToCurrent) {
- // Initialize the database.
- ASSERT_NO_FATAL_FAILURE(
- LoadDatabase(FilePath(FILE_PATH_LITERAL("version_32.sql"))));
-
- // Verify pre-conditions. These are expectations for version 32 of the
- // database.
- {
- sql::Connection connection;
- ASSERT_TRUE(connection.Open(GetDatabasePath()));
-
- // Verify existence of columns we'll be changing.
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "guid"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "label"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "first_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "middle_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "last_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "email"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "company_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "address_line_1"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "address_line_2"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "city"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "state"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "zipcode"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "country"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "phone"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "fax"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "date_modified"));
-
- EXPECT_FALSE(connection.DoesTableExist("autofill_profile_names"));
- EXPECT_FALSE(connection.DoesTableExist("autofill_profile_emails"));
- EXPECT_FALSE(connection.DoesTableExist("autofill_profile_phones"));
-
- EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "label"));
- }
-
- // Load the database via the WebDatabase class and migrate the database to
- // the current version.
- {
- WebDatabase db;
- ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath()));
- }
-
- // Verify post-conditions. These are expectations for current version of the
- // database.
- {
- sql::Connection connection;
- ASSERT_TRUE(connection.Open(GetDatabasePath()));
-
- // Check version.
- EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection));
-
- // Verify changes to columns.
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "guid"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "label"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "first_name"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles",
- "middle_name"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "last_name"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "email"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "company_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "address_line_1"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "address_line_2"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "city"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "state"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "zipcode"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "country"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "phone"));
- EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "fax"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles",
- "date_modified"));
-
- // New "names" table.
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_names", "guid"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_names",
- "first_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_names",
- "middle_name"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_names",
- "last_name"));
-
- // New "emails" table.
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_emails", "guid"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_emails", "email"));
-
- // New "phones" table.
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_phones", "guid"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_phones", "type"));
- EXPECT_TRUE(connection.DoesColumnExist("autofill_profile_phones",
- "number"));
-
- EXPECT_FALSE(connection.DoesColumnExist("credit_cards", "label"));
-
- // Verify data in the database after the migration.
- sql::Statement s1(
- connection.GetUniqueStatement(
- "SELECT guid, company_name, address_line_1, address_line_2, "
- "city, state, zipcode, country, date_modified "
- "FROM autofill_profiles"));
-
- // John Doe.
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("00580526-FF81-EE2A-0546-1AC593A32E2F", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("Doe Enterprises"), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("1 Main St"), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Apt 1"), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16("Los Altos"), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16("CA"), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16("94022"), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16("USA"), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // John P. Doe.
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("589636FD-9037-3053-200C-80ABC97D7344", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("Doe Enterprises"), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("1 Main St"), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Apt 1"), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16("Los Altos"), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16("CA"), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16("94022"), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16("USA"), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // Dave Smith.
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("4C74A9D8-7EEE-423E-F9C2-E7FA70ED1396", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("2 Main Street"), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16("Los Altos"), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16("CA"), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16("94022"), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16("USA"), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // Dave Smith (Part 2).
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("722DF5C4-F74A-294A-46F0-31FFDED0D635", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("2 Main St"), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16("Los Altos"), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16("CA"), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16("94022"), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16("USA"), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // Alfred E Newman.
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("584282AC-5D21-8D73-A2DB-4F892EF61F3F", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // 3 Main St.
- ASSERT_TRUE(s1.Step());
- EXPECT_EQ("9E5FE298-62C7-83DF-6293-381BC589183F", s1.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("3 Main St"), s1.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16(""), s1.ColumnString16(3));
- EXPECT_EQ(ASCIIToUTF16("Los Altos"), s1.ColumnString16(4));
- EXPECT_EQ(ASCIIToUTF16("CA"), s1.ColumnString16(5));
- EXPECT_EQ(ASCIIToUTF16("94022"), s1.ColumnString16(6));
- EXPECT_EQ(ASCIIToUTF16("USA"), s1.ColumnString16(7));
- EXPECT_EQ(1297882100UL, s1.ColumnInt64(8));
-
- // That should be all.
- EXPECT_FALSE(s1.Step());
-
- sql::Statement s2(
- connection.GetUniqueStatement(
- "SELECT guid, first_name, middle_name, last_name "
- "FROM autofill_profile_names"));
-
- // John Doe.
- ASSERT_TRUE(s2.Step());
- EXPECT_EQ("00580526-FF81-EE2A-0546-1AC593A32E2F", s2.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("John"), s2.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16(""), s2.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Doe"), s2.ColumnString16(3));
-
- // John P. Doe.
- ASSERT_TRUE(s2.Step());
- EXPECT_EQ("589636FD-9037-3053-200C-80ABC97D7344", s2.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("John"), s2.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("P."), s2.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Doe"), s2.ColumnString16(3));
-
- // Dave Smith.
- ASSERT_TRUE(s2.Step());
- EXPECT_EQ("4C74A9D8-7EEE-423E-F9C2-E7FA70ED1396", s2.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("Dave"), s2.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16(""), s2.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Smith"), s2.ColumnString16(3));
-
- // Dave Smith (Part 2).
- ASSERT_TRUE(s2.Step());
- EXPECT_EQ("722DF5C4-F74A-294A-46F0-31FFDED0D635", s2.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("Dave"), s2.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16(""), s2.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Smith"), s2.ColumnString16(3));
-
- // Alfred E Newman.
- ASSERT_TRUE(s2.Step());
- EXPECT_EQ("584282AC-5D21-8D73-A2DB-4F892EF61F3F", s2.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("Alfred"), s2.ColumnString16(1));
- EXPECT_EQ(ASCIIToUTF16("E"), s2.ColumnString16(2));
- EXPECT_EQ(ASCIIToUTF16("Newman"), s2.ColumnString16(3));
-
- // Note no name for 3 Main St.
-
- // Should be all.
- EXPECT_FALSE(s2.Step());
-
- sql::Statement s3(
- connection.GetUniqueStatement(
- "SELECT guid, email "
- "FROM autofill_profile_emails"));
-
- // John Doe.
- ASSERT_TRUE(s3.Step());
- EXPECT_EQ("00580526-FF81-EE2A-0546-1AC593A32E2F", s3.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("john@doe.com"), s3.ColumnString16(1));
-
- // John P. Doe.
- ASSERT_TRUE(s3.Step());
- EXPECT_EQ("589636FD-9037-3053-200C-80ABC97D7344", s3.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("john@doe.com"), s3.ColumnString16(1));
-
- // Note no email for 2 Main Street.
- // Note no email for 2 Main St.
-
- // Alfred E Newman.
- ASSERT_TRUE(s3.Step());
- EXPECT_EQ("584282AC-5D21-8D73-A2DB-4F892EF61F3F", s3.ColumnString(0));
- EXPECT_EQ(ASCIIToUTF16("a@e.com"), s3.ColumnString16(1));
-
- // Note no email for 3 Main St.
-
- // Should be all.
- EXPECT_FALSE(s3.Step());
-
- sql::Statement s4(
- connection.GetUniqueStatement(
- "SELECT guid, type, number "
- "FROM autofill_profile_phones"));
-
- // John Doe phone.
- ASSERT_TRUE(s4.Step());
- EXPECT_EQ("00580526-FF81-EE2A-0546-1AC593A32E2F", s4.ColumnString(0));
- EXPECT_EQ(0, s4.ColumnInt(1)); // 0 means phone.
- EXPECT_EQ(ASCIIToUTF16("4151112222"), s4.ColumnString16(2));
-
- // John Doe fax.
- ASSERT_TRUE(s4.Step());
- EXPECT_EQ("00580526-FF81-EE2A-0546-1AC593A32E2F", s4.ColumnString(0));
- EXPECT_EQ(1, s4.ColumnInt(1)); // 1 means phone.
- EXPECT_EQ(ASCIIToUTF16("4153334444"), s4.ColumnString16(2));
-
- // John P. Doe phone.
- ASSERT_TRUE(s4.Step());
- EXPECT_EQ("589636FD-9037-3053-200C-80ABC97D7344", s4.ColumnString(0));
- EXPECT_EQ(0, s4.ColumnInt(1)); // 0 means phone.
- EXPECT_EQ(ASCIIToUTF16("4151112222"), s4.ColumnString16(2));
-
- // John P. Doe fax.
- ASSERT_TRUE(s4.Step());
- EXPECT_EQ("589636FD-9037-3053-200C-80ABC97D7344", s4.ColumnString(0));
- EXPECT_EQ(1, s4.ColumnInt(1)); // 1 means fax.
- EXPECT_EQ(ASCIIToUTF16("4153334444"), s4.ColumnString16(2));
-
- // Note no phone or fax for 2 Main Street.
- // Note no phone or fax for 2 Main St.
- // Note no phone or fax for Alfred E Newman.
- // Note no phone or fax for 3 Main St.
-
- // Should be all.
- EXPECT_FALSE(s4.Step());
- }
-}