diff options
Diffstat (limited to 'chrome/browser/webdata/web_database_unittest.cc')
-rw-r--r-- | chrome/browser/webdata/web_database_unittest.cc | 439 |
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()); - } -} |