OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.h" |
9 #include "base/string_number_conversions.h" | 9 #include "base/string_number_conversions.h" |
10 #include "base/time.h" | 10 #include "base/time.h" |
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
566 | 566 |
567 // Get the 'Home' profile. | 567 // Get the 'Home' profile. |
568 AutofillProfile* db_profile; | 568 AutofillProfile* db_profile; |
569 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( | 569 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( |
570 home_profile.guid(), &db_profile)); | 570 home_profile.guid(), &db_profile)); |
571 EXPECT_EQ(home_profile, *db_profile); | 571 EXPECT_EQ(home_profile, *db_profile); |
572 sql::Statement s_home(db.GetSQLConnection()->GetUniqueStatement( | 572 sql::Statement s_home(db.GetSQLConnection()->GetUniqueStatement( |
573 "SELECT date_modified " | 573 "SELECT date_modified " |
574 "FROM autofill_profiles WHERE guid=?")); | 574 "FROM autofill_profiles WHERE guid=?")); |
575 s_home.BindString(0, home_profile.guid()); | 575 s_home.BindString(0, home_profile.guid()); |
576 ASSERT_TRUE(s_home); | 576 ASSERT_TRUE(s_home.is_valid()); |
577 ASSERT_TRUE(s_home.Step()); | 577 ASSERT_TRUE(s_home.Step()); |
578 EXPECT_GE(s_home.ColumnInt64(0), pre_creation_time.ToTimeT()); | 578 EXPECT_GE(s_home.ColumnInt64(0), pre_creation_time.ToTimeT()); |
579 EXPECT_LE(s_home.ColumnInt64(0), post_creation_time.ToTimeT()); | 579 EXPECT_LE(s_home.ColumnInt64(0), post_creation_time.ToTimeT()); |
580 EXPECT_FALSE(s_home.Step()); | 580 EXPECT_FALSE(s_home.Step()); |
581 delete db_profile; | 581 delete db_profile; |
582 | 582 |
583 // Add a 'Billing' profile. | 583 // Add a 'Billing' profile. |
584 AutofillProfile billing_profile = home_profile; | 584 AutofillProfile billing_profile = home_profile; |
585 billing_profile.set_guid(guid::GenerateGUID()); | 585 billing_profile.set_guid(guid::GenerateGUID()); |
586 billing_profile.SetInfo(ADDRESS_HOME_LINE1, | 586 billing_profile.SetInfo(ADDRESS_HOME_LINE1, |
587 ASCIIToUTF16("5678 Bottom Street")); | 587 ASCIIToUTF16("5678 Bottom Street")); |
588 billing_profile.SetInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("suite 3")); | 588 billing_profile.SetInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("suite 3")); |
589 | 589 |
590 pre_creation_time = Time::Now(); | 590 pre_creation_time = Time::Now(); |
591 EXPECT_TRUE(db.GetAutofillTable()->AddAutofillProfile(billing_profile)); | 591 EXPECT_TRUE(db.GetAutofillTable()->AddAutofillProfile(billing_profile)); |
592 post_creation_time = Time::Now(); | 592 post_creation_time = Time::Now(); |
593 | 593 |
594 // Get the 'Billing' profile. | 594 // Get the 'Billing' profile. |
595 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( | 595 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( |
596 billing_profile.guid(), &db_profile)); | 596 billing_profile.guid(), &db_profile)); |
597 EXPECT_EQ(billing_profile, *db_profile); | 597 EXPECT_EQ(billing_profile, *db_profile); |
598 sql::Statement s_billing(db.GetSQLConnection()->GetUniqueStatement( | 598 sql::Statement s_billing(db.GetSQLConnection()->GetUniqueStatement( |
599 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); | 599 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); |
600 s_billing.BindString(0, billing_profile.guid()); | 600 s_billing.BindString(0, billing_profile.guid()); |
601 ASSERT_TRUE(s_billing); | 601 ASSERT_TRUE(s_billing.is_valid()); |
602 ASSERT_TRUE(s_billing.Step()); | 602 ASSERT_TRUE(s_billing.Step()); |
603 EXPECT_GE(s_billing.ColumnInt64(0), pre_creation_time.ToTimeT()); | 603 EXPECT_GE(s_billing.ColumnInt64(0), pre_creation_time.ToTimeT()); |
604 EXPECT_LE(s_billing.ColumnInt64(0), post_creation_time.ToTimeT()); | 604 EXPECT_LE(s_billing.ColumnInt64(0), post_creation_time.ToTimeT()); |
605 EXPECT_FALSE(s_billing.Step()); | 605 EXPECT_FALSE(s_billing.Step()); |
606 delete db_profile; | 606 delete db_profile; |
607 | 607 |
608 // Update the 'Billing' profile, name only. | 608 // Update the 'Billing' profile, name only. |
609 billing_profile.SetInfo(NAME_FIRST, ASCIIToUTF16("Jane")); | 609 billing_profile.SetInfo(NAME_FIRST, ASCIIToUTF16("Jane")); |
610 Time pre_modification_time = Time::Now(); | 610 Time pre_modification_time = Time::Now(); |
611 EXPECT_TRUE(db.GetAutofillTable()->UpdateAutofillProfileMulti( | 611 EXPECT_TRUE(db.GetAutofillTable()->UpdateAutofillProfileMulti( |
612 billing_profile)); | 612 billing_profile)); |
613 Time post_modification_time = Time::Now(); | 613 Time post_modification_time = Time::Now(); |
614 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( | 614 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( |
615 billing_profile.guid(), &db_profile)); | 615 billing_profile.guid(), &db_profile)); |
616 EXPECT_EQ(billing_profile, *db_profile); | 616 EXPECT_EQ(billing_profile, *db_profile); |
617 sql::Statement s_billing_updated(db.GetSQLConnection()->GetUniqueStatement( | 617 sql::Statement s_billing_updated(db.GetSQLConnection()->GetUniqueStatement( |
618 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); | 618 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); |
619 s_billing_updated.BindString(0, billing_profile.guid()); | 619 s_billing_updated.BindString(0, billing_profile.guid()); |
620 ASSERT_TRUE(s_billing_updated); | 620 ASSERT_TRUE(s_billing_updated.is_valid()); |
621 ASSERT_TRUE(s_billing_updated.Step()); | 621 ASSERT_TRUE(s_billing_updated.Step()); |
622 EXPECT_GE(s_billing_updated.ColumnInt64(0), | 622 EXPECT_GE(s_billing_updated.ColumnInt64(0), |
623 pre_modification_time.ToTimeT()); | 623 pre_modification_time.ToTimeT()); |
624 EXPECT_LE(s_billing_updated.ColumnInt64(0), | 624 EXPECT_LE(s_billing_updated.ColumnInt64(0), |
625 post_modification_time.ToTimeT()); | 625 post_modification_time.ToTimeT()); |
626 EXPECT_FALSE(s_billing_updated.Step()); | 626 EXPECT_FALSE(s_billing_updated.Step()); |
627 delete db_profile; | 627 delete db_profile; |
628 | 628 |
629 // Update the 'Billing' profile. | 629 // Update the 'Billing' profile. |
630 billing_profile.SetInfo(NAME_FIRST, ASCIIToUTF16("Janice")); | 630 billing_profile.SetInfo(NAME_FIRST, ASCIIToUTF16("Janice")); |
(...skipping 11 matching lines...) Expand all Loading... |
642 Time pre_modification_time_2 = Time::Now(); | 642 Time pre_modification_time_2 = Time::Now(); |
643 EXPECT_TRUE(db.GetAutofillTable()->UpdateAutofillProfileMulti( | 643 EXPECT_TRUE(db.GetAutofillTable()->UpdateAutofillProfileMulti( |
644 billing_profile)); | 644 billing_profile)); |
645 Time post_modification_time_2 = Time::Now(); | 645 Time post_modification_time_2 = Time::Now(); |
646 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( | 646 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile( |
647 billing_profile.guid(), &db_profile)); | 647 billing_profile.guid(), &db_profile)); |
648 EXPECT_EQ(billing_profile, *db_profile); | 648 EXPECT_EQ(billing_profile, *db_profile); |
649 sql::Statement s_billing_updated_2(db.GetSQLConnection()->GetUniqueStatement( | 649 sql::Statement s_billing_updated_2(db.GetSQLConnection()->GetUniqueStatement( |
650 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); | 650 "SELECT date_modified FROM autofill_profiles WHERE guid=?")); |
651 s_billing_updated_2.BindString(0, billing_profile.guid()); | 651 s_billing_updated_2.BindString(0, billing_profile.guid()); |
652 ASSERT_TRUE(s_billing_updated_2); | 652 ASSERT_TRUE(s_billing_updated_2.is_valid()); |
653 ASSERT_TRUE(s_billing_updated_2.Step()); | 653 ASSERT_TRUE(s_billing_updated_2.Step()); |
654 EXPECT_GE(s_billing_updated_2.ColumnInt64(0), | 654 EXPECT_GE(s_billing_updated_2.ColumnInt64(0), |
655 pre_modification_time_2.ToTimeT()); | 655 pre_modification_time_2.ToTimeT()); |
656 EXPECT_LE(s_billing_updated_2.ColumnInt64(0), | 656 EXPECT_LE(s_billing_updated_2.ColumnInt64(0), |
657 post_modification_time_2.ToTimeT()); | 657 post_modification_time_2.ToTimeT()); |
658 EXPECT_FALSE(s_billing_updated_2.Step()); | 658 EXPECT_FALSE(s_billing_updated_2.Step()); |
659 delete db_profile; | 659 delete db_profile; |
660 | 660 |
661 // Remove the 'Billing' profile. | 661 // Remove the 'Billing' profile. |
662 EXPECT_TRUE(db.GetAutofillTable()->RemoveAutofillProfile( | 662 EXPECT_TRUE(db.GetAutofillTable()->RemoveAutofillProfile( |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
943 // Get the 'Work' credit card. | 943 // Get the 'Work' credit card. |
944 CreditCard* db_creditcard; | 944 CreditCard* db_creditcard; |
945 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(work_creditcard.guid(), | 945 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(work_creditcard.guid(), |
946 &db_creditcard)); | 946 &db_creditcard)); |
947 EXPECT_EQ(work_creditcard, *db_creditcard); | 947 EXPECT_EQ(work_creditcard, *db_creditcard); |
948 sql::Statement s_work(db.GetSQLConnection()->GetUniqueStatement( | 948 sql::Statement s_work(db.GetSQLConnection()->GetUniqueStatement( |
949 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 949 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
950 "card_number_encrypted, date_modified " | 950 "card_number_encrypted, date_modified " |
951 "FROM credit_cards WHERE guid=?")); | 951 "FROM credit_cards WHERE guid=?")); |
952 s_work.BindString(0, work_creditcard.guid()); | 952 s_work.BindString(0, work_creditcard.guid()); |
953 ASSERT_TRUE(s_work); | 953 ASSERT_TRUE(s_work.is_valid()); |
954 ASSERT_TRUE(s_work.Step()); | 954 ASSERT_TRUE(s_work.Step()); |
955 EXPECT_GE(s_work.ColumnInt64(5), pre_creation_time.ToTimeT()); | 955 EXPECT_GE(s_work.ColumnInt64(5), pre_creation_time.ToTimeT()); |
956 EXPECT_LE(s_work.ColumnInt64(5), post_creation_time.ToTimeT()); | 956 EXPECT_LE(s_work.ColumnInt64(5), post_creation_time.ToTimeT()); |
957 EXPECT_FALSE(s_work.Step()); | 957 EXPECT_FALSE(s_work.Step()); |
958 delete db_creditcard; | 958 delete db_creditcard; |
959 | 959 |
960 // Add a 'Target' credit card. | 960 // Add a 'Target' credit card. |
961 CreditCard target_creditcard; | 961 CreditCard target_creditcard; |
962 target_creditcard.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 962 target_creditcard.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); |
963 target_creditcard.SetInfo(CREDIT_CARD_NUMBER, | 963 target_creditcard.SetInfo(CREDIT_CARD_NUMBER, |
964 ASCIIToUTF16("1111222233334444")); | 964 ASCIIToUTF16("1111222233334444")); |
965 target_creditcard.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("06")); | 965 target_creditcard.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("06")); |
966 target_creditcard.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2012")); | 966 target_creditcard.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2012")); |
967 | 967 |
968 pre_creation_time = Time::Now(); | 968 pre_creation_time = Time::Now(); |
969 EXPECT_TRUE(db.GetAutofillTable()->AddCreditCard(target_creditcard)); | 969 EXPECT_TRUE(db.GetAutofillTable()->AddCreditCard(target_creditcard)); |
970 post_creation_time = Time::Now(); | 970 post_creation_time = Time::Now(); |
971 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), | 971 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), |
972 &db_creditcard)); | 972 &db_creditcard)); |
973 EXPECT_EQ(target_creditcard, *db_creditcard); | 973 EXPECT_EQ(target_creditcard, *db_creditcard); |
974 sql::Statement s_target(db.GetSQLConnection()->GetUniqueStatement( | 974 sql::Statement s_target(db.GetSQLConnection()->GetUniqueStatement( |
975 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 975 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
976 "card_number_encrypted, date_modified " | 976 "card_number_encrypted, date_modified " |
977 "FROM credit_cards WHERE guid=?")); | 977 "FROM credit_cards WHERE guid=?")); |
978 s_target.BindString(0, target_creditcard.guid()); | 978 s_target.BindString(0, target_creditcard.guid()); |
979 ASSERT_TRUE(s_target); | 979 ASSERT_TRUE(s_target.is_valid()); |
980 ASSERT_TRUE(s_target.Step()); | 980 ASSERT_TRUE(s_target.Step()); |
981 EXPECT_GE(s_target.ColumnInt64(5), pre_creation_time.ToTimeT()); | 981 EXPECT_GE(s_target.ColumnInt64(5), pre_creation_time.ToTimeT()); |
982 EXPECT_LE(s_target.ColumnInt64(5), post_creation_time.ToTimeT()); | 982 EXPECT_LE(s_target.ColumnInt64(5), post_creation_time.ToTimeT()); |
983 EXPECT_FALSE(s_target.Step()); | 983 EXPECT_FALSE(s_target.Step()); |
984 delete db_creditcard; | 984 delete db_creditcard; |
985 | 985 |
986 // Update the 'Target' credit card. | 986 // Update the 'Target' credit card. |
987 target_creditcard.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Charles Grady")); | 987 target_creditcard.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Charles Grady")); |
988 Time pre_modification_time = Time::Now(); | 988 Time pre_modification_time = Time::Now(); |
989 EXPECT_TRUE(db.GetAutofillTable()->UpdateCreditCard(target_creditcard)); | 989 EXPECT_TRUE(db.GetAutofillTable()->UpdateCreditCard(target_creditcard)); |
990 Time post_modification_time = Time::Now(); | 990 Time post_modification_time = Time::Now(); |
991 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), | 991 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), |
992 &db_creditcard)); | 992 &db_creditcard)); |
993 EXPECT_EQ(target_creditcard, *db_creditcard); | 993 EXPECT_EQ(target_creditcard, *db_creditcard); |
994 sql::Statement s_target_updated(db.GetSQLConnection()->GetUniqueStatement( | 994 sql::Statement s_target_updated(db.GetSQLConnection()->GetUniqueStatement( |
995 "SELECT guid, name_on_card, expiration_month, expiration_year, " | 995 "SELECT guid, name_on_card, expiration_month, expiration_year, " |
996 "card_number_encrypted, date_modified " | 996 "card_number_encrypted, date_modified " |
997 "FROM credit_cards WHERE guid=?")); | 997 "FROM credit_cards WHERE guid=?")); |
998 s_target_updated.BindString(0, target_creditcard.guid()); | 998 s_target_updated.BindString(0, target_creditcard.guid()); |
999 ASSERT_TRUE(s_target_updated); | 999 ASSERT_TRUE(s_target_updated.is_valid()); |
1000 ASSERT_TRUE(s_target_updated.Step()); | 1000 ASSERT_TRUE(s_target_updated.Step()); |
1001 EXPECT_GE(s_target_updated.ColumnInt64(5), pre_modification_time.ToTimeT()); | 1001 EXPECT_GE(s_target_updated.ColumnInt64(5), pre_modification_time.ToTimeT()); |
1002 EXPECT_LE(s_target_updated.ColumnInt64(5), post_modification_time.ToTimeT()); | 1002 EXPECT_LE(s_target_updated.ColumnInt64(5), post_modification_time.ToTimeT()); |
1003 EXPECT_FALSE(s_target_updated.Step()); | 1003 EXPECT_FALSE(s_target_updated.Step()); |
1004 delete db_creditcard; | 1004 delete db_creditcard; |
1005 | 1005 |
1006 // Remove the 'Target' credit card. | 1006 // Remove the 'Target' credit card. |
1007 EXPECT_TRUE(db.GetAutofillTable()->RemoveCreditCard( | 1007 EXPECT_TRUE(db.GetAutofillTable()->RemoveCreditCard( |
1008 target_creditcard.guid())); | 1008 target_creditcard.guid())); |
1009 EXPECT_FALSE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), | 1009 EXPECT_FALSE(db.GetAutofillTable()->GetCreditCard(target_creditcard.guid(), |
(...skipping 17 matching lines...) Expand all Loading... |
1027 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); | 1027 profile.SetInfo(ADDRESS_HOME_STATE, ASCIIToUTF16("CA")); |
1028 profile.SetInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("90025")); | 1028 profile.SetInfo(ADDRESS_HOME_ZIP, ASCIIToUTF16("90025")); |
1029 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US")); | 1029 profile.SetInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US")); |
1030 profile.SetInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("18181234567")); | 1030 profile.SetInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("18181234567")); |
1031 db.GetAutofillTable()->AddAutofillProfile(profile); | 1031 db.GetAutofillTable()->AddAutofillProfile(profile); |
1032 | 1032 |
1033 // Set a mocked value for the profile's creation time. | 1033 // Set a mocked value for the profile's creation time. |
1034 const time_t mock_creation_date = Time::Now().ToTimeT() - 13; | 1034 const time_t mock_creation_date = Time::Now().ToTimeT() - 13; |
1035 sql::Statement s_mock_creation_date(db.GetSQLConnection()->GetUniqueStatement( | 1035 sql::Statement s_mock_creation_date(db.GetSQLConnection()->GetUniqueStatement( |
1036 "UPDATE autofill_profiles SET date_modified = ?")); | 1036 "UPDATE autofill_profiles SET date_modified = ?")); |
1037 ASSERT_TRUE(s_mock_creation_date); | 1037 ASSERT_TRUE(s_mock_creation_date.is_valid()); |
1038 s_mock_creation_date.BindInt64(0, mock_creation_date); | 1038 s_mock_creation_date.BindInt64(0, mock_creation_date); |
1039 ASSERT_TRUE(s_mock_creation_date.Run()); | 1039 ASSERT_TRUE(s_mock_creation_date.Run()); |
1040 | 1040 |
1041 // Get the profile. | 1041 // Get the profile. |
1042 AutofillProfile* tmp_profile; | 1042 AutofillProfile* tmp_profile; |
1043 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), | 1043 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), |
1044 &tmp_profile)); | 1044 &tmp_profile)); |
1045 scoped_ptr<AutofillProfile> db_profile(tmp_profile); | 1045 scoped_ptr<AutofillProfile> db_profile(tmp_profile); |
1046 EXPECT_EQ(profile, *db_profile); | 1046 EXPECT_EQ(profile, *db_profile); |
1047 sql::Statement s_original(db.GetSQLConnection()->GetUniqueStatement( | 1047 sql::Statement s_original(db.GetSQLConnection()->GetUniqueStatement( |
1048 "SELECT date_modified FROM autofill_profiles")); | 1048 "SELECT date_modified FROM autofill_profiles")); |
1049 ASSERT_TRUE(s_original); | 1049 ASSERT_TRUE(s_original.is_valid()); |
1050 ASSERT_TRUE(s_original.Step()); | 1050 ASSERT_TRUE(s_original.Step()); |
1051 EXPECT_EQ(mock_creation_date, s_original.ColumnInt64(0)); | 1051 EXPECT_EQ(mock_creation_date, s_original.ColumnInt64(0)); |
1052 EXPECT_FALSE(s_original.Step()); | 1052 EXPECT_FALSE(s_original.Step()); |
1053 | 1053 |
1054 // Now, update the profile and save the update to the database. | 1054 // Now, update the profile and save the update to the database. |
1055 // The modification date should change to reflect the update. | 1055 // The modification date should change to reflect the update. |
1056 profile.SetInfo(EMAIL_ADDRESS, ASCIIToUTF16("js@smith.xyz")); | 1056 profile.SetInfo(EMAIL_ADDRESS, ASCIIToUTF16("js@smith.xyz")); |
1057 db.GetAutofillTable()->UpdateAutofillProfileMulti(profile); | 1057 db.GetAutofillTable()->UpdateAutofillProfileMulti(profile); |
1058 | 1058 |
1059 // Get the profile. | 1059 // Get the profile. |
1060 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), | 1060 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), |
1061 &tmp_profile)); | 1061 &tmp_profile)); |
1062 db_profile.reset(tmp_profile); | 1062 db_profile.reset(tmp_profile); |
1063 EXPECT_EQ(profile, *db_profile); | 1063 EXPECT_EQ(profile, *db_profile); |
1064 sql::Statement s_updated(db.GetSQLConnection()->GetUniqueStatement( | 1064 sql::Statement s_updated(db.GetSQLConnection()->GetUniqueStatement( |
1065 "SELECT date_modified FROM autofill_profiles")); | 1065 "SELECT date_modified FROM autofill_profiles")); |
1066 ASSERT_TRUE(s_updated); | 1066 ASSERT_TRUE(s_updated.is_valid()); |
1067 ASSERT_TRUE(s_updated.Step()); | 1067 ASSERT_TRUE(s_updated.Step()); |
1068 EXPECT_LT(mock_creation_date, s_updated.ColumnInt64(0)); | 1068 EXPECT_LT(mock_creation_date, s_updated.ColumnInt64(0)); |
1069 EXPECT_FALSE(s_updated.Step()); | 1069 EXPECT_FALSE(s_updated.Step()); |
1070 | 1070 |
1071 // Set a mocked value for the profile's modification time. | 1071 // Set a mocked value for the profile's modification time. |
1072 const time_t mock_modification_date = Time::Now().ToTimeT() - 7; | 1072 const time_t mock_modification_date = Time::Now().ToTimeT() - 7; |
1073 sql::Statement s_mock_modification_date( | 1073 sql::Statement s_mock_modification_date( |
1074 db.GetSQLConnection()->GetUniqueStatement( | 1074 db.GetSQLConnection()->GetUniqueStatement( |
1075 "UPDATE autofill_profiles SET date_modified = ?")); | 1075 "UPDATE autofill_profiles SET date_modified = ?")); |
1076 ASSERT_TRUE(s_mock_modification_date); | 1076 ASSERT_TRUE(s_mock_modification_date.is_valid()); |
1077 s_mock_modification_date.BindInt64(0, mock_modification_date); | 1077 s_mock_modification_date.BindInt64(0, mock_modification_date); |
1078 ASSERT_TRUE(s_mock_modification_date.Run()); | 1078 ASSERT_TRUE(s_mock_modification_date.Run()); |
1079 | 1079 |
1080 // Finally, call into |UpdateAutofillProfileMulti()| without changing the | 1080 // Finally, call into |UpdateAutofillProfileMulti()| without changing the |
1081 // profile. The modification date should not change. | 1081 // profile. The modification date should not change. |
1082 db.GetAutofillTable()->UpdateAutofillProfileMulti(profile); | 1082 db.GetAutofillTable()->UpdateAutofillProfileMulti(profile); |
1083 | 1083 |
1084 // Get the profile. | 1084 // Get the profile. |
1085 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), | 1085 ASSERT_TRUE(db.GetAutofillTable()->GetAutofillProfile(profile.guid(), |
1086 &tmp_profile)); | 1086 &tmp_profile)); |
1087 db_profile.reset(tmp_profile); | 1087 db_profile.reset(tmp_profile); |
1088 EXPECT_EQ(profile, *db_profile); | 1088 EXPECT_EQ(profile, *db_profile); |
1089 sql::Statement s_unchanged(db.GetSQLConnection()->GetUniqueStatement( | 1089 sql::Statement s_unchanged(db.GetSQLConnection()->GetUniqueStatement( |
1090 "SELECT date_modified FROM autofill_profiles")); | 1090 "SELECT date_modified FROM autofill_profiles")); |
1091 ASSERT_TRUE(s_unchanged); | 1091 ASSERT_TRUE(s_unchanged.is_valid()); |
1092 ASSERT_TRUE(s_unchanged.Step()); | 1092 ASSERT_TRUE(s_unchanged.Step()); |
1093 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); | 1093 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); |
1094 EXPECT_FALSE(s_unchanged.Step()); | 1094 EXPECT_FALSE(s_unchanged.Step()); |
1095 } | 1095 } |
1096 | 1096 |
1097 TEST_F(AutofillTableTest, UpdateCreditCard) { | 1097 TEST_F(AutofillTableTest, UpdateCreditCard) { |
1098 WebDatabase db; | 1098 WebDatabase db; |
1099 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); | 1099 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); |
1100 | 1100 |
1101 // Add a credit card to the db. | 1101 // Add a credit card to the db. |
1102 CreditCard credit_card; | 1102 CreditCard credit_card; |
1103 credit_card.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); | 1103 credit_card.SetInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Jack Torrance")); |
1104 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); | 1104 credit_card.SetInfo(CREDIT_CARD_NUMBER, ASCIIToUTF16("1234567890123456")); |
1105 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); | 1105 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("04")); |
1106 credit_card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); | 1106 credit_card.SetInfo(CREDIT_CARD_EXP_4_DIGIT_YEAR, ASCIIToUTF16("2013")); |
1107 db.GetAutofillTable()->AddCreditCard(credit_card); | 1107 db.GetAutofillTable()->AddCreditCard(credit_card); |
1108 | 1108 |
1109 // Set a mocked value for the credit card's creation time. | 1109 // Set a mocked value for the credit card's creation time. |
1110 const time_t mock_creation_date = Time::Now().ToTimeT() - 13; | 1110 const time_t mock_creation_date = Time::Now().ToTimeT() - 13; |
1111 sql::Statement s_mock_creation_date(db.GetSQLConnection()->GetUniqueStatement( | 1111 sql::Statement s_mock_creation_date(db.GetSQLConnection()->GetUniqueStatement( |
1112 "UPDATE credit_cards SET date_modified = ?")); | 1112 "UPDATE credit_cards SET date_modified = ?")); |
1113 ASSERT_TRUE(s_mock_creation_date); | 1113 ASSERT_TRUE(s_mock_creation_date.is_valid()); |
1114 s_mock_creation_date.BindInt64(0, mock_creation_date); | 1114 s_mock_creation_date.BindInt64(0, mock_creation_date); |
1115 ASSERT_TRUE(s_mock_creation_date.Run()); | 1115 ASSERT_TRUE(s_mock_creation_date.Run()); |
1116 | 1116 |
1117 // Get the credit card. | 1117 // Get the credit card. |
1118 CreditCard* tmp_credit_card; | 1118 CreditCard* tmp_credit_card; |
1119 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), | 1119 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), |
1120 &tmp_credit_card)); | 1120 &tmp_credit_card)); |
1121 scoped_ptr<CreditCard> db_credit_card(tmp_credit_card); | 1121 scoped_ptr<CreditCard> db_credit_card(tmp_credit_card); |
1122 EXPECT_EQ(credit_card, *db_credit_card); | 1122 EXPECT_EQ(credit_card, *db_credit_card); |
1123 sql::Statement s_original(db.GetSQLConnection()->GetUniqueStatement( | 1123 sql::Statement s_original(db.GetSQLConnection()->GetUniqueStatement( |
1124 "SELECT date_modified FROM credit_cards")); | 1124 "SELECT date_modified FROM credit_cards")); |
1125 ASSERT_TRUE(s_original); | 1125 ASSERT_TRUE(s_original.is_valid()); |
1126 ASSERT_TRUE(s_original.Step()); | 1126 ASSERT_TRUE(s_original.Step()); |
1127 EXPECT_EQ(mock_creation_date, s_original.ColumnInt64(0)); | 1127 EXPECT_EQ(mock_creation_date, s_original.ColumnInt64(0)); |
1128 EXPECT_FALSE(s_original.Step()); | 1128 EXPECT_FALSE(s_original.Step()); |
1129 | 1129 |
1130 // Now, update the credit card and save the update to the database. | 1130 // Now, update the credit card and save the update to the database. |
1131 // The modification date should change to reflect the update. | 1131 // The modification date should change to reflect the update. |
1132 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); | 1132 credit_card.SetInfo(CREDIT_CARD_EXP_MONTH, ASCIIToUTF16("01")); |
1133 db.GetAutofillTable()->UpdateCreditCard(credit_card); | 1133 db.GetAutofillTable()->UpdateCreditCard(credit_card); |
1134 | 1134 |
1135 // Get the credit card. | 1135 // Get the credit card. |
1136 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), | 1136 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), |
1137 &tmp_credit_card)); | 1137 &tmp_credit_card)); |
1138 db_credit_card.reset(tmp_credit_card); | 1138 db_credit_card.reset(tmp_credit_card); |
1139 EXPECT_EQ(credit_card, *db_credit_card); | 1139 EXPECT_EQ(credit_card, *db_credit_card); |
1140 sql::Statement s_updated(db.GetSQLConnection()->GetUniqueStatement( | 1140 sql::Statement s_updated(db.GetSQLConnection()->GetUniqueStatement( |
1141 "SELECT date_modified FROM credit_cards")); | 1141 "SELECT date_modified FROM credit_cards")); |
1142 ASSERT_TRUE(s_updated); | 1142 ASSERT_TRUE(s_updated.is_valid()); |
1143 ASSERT_TRUE(s_updated.Step()); | 1143 ASSERT_TRUE(s_updated.Step()); |
1144 EXPECT_LT(mock_creation_date, s_updated.ColumnInt64(0)); | 1144 EXPECT_LT(mock_creation_date, s_updated.ColumnInt64(0)); |
1145 EXPECT_FALSE(s_updated.Step()); | 1145 EXPECT_FALSE(s_updated.Step()); |
1146 | 1146 |
1147 // Set a mocked value for the credit card's modification time. | 1147 // Set a mocked value for the credit card's modification time. |
1148 const time_t mock_modification_date = Time::Now().ToTimeT() - 7; | 1148 const time_t mock_modification_date = Time::Now().ToTimeT() - 7; |
1149 sql::Statement s_mock_modification_date( | 1149 sql::Statement s_mock_modification_date( |
1150 db.GetSQLConnection()->GetUniqueStatement( | 1150 db.GetSQLConnection()->GetUniqueStatement( |
1151 "UPDATE credit_cards SET date_modified = ?")); | 1151 "UPDATE credit_cards SET date_modified = ?")); |
1152 ASSERT_TRUE(s_mock_modification_date); | 1152 ASSERT_TRUE(s_mock_modification_date.is_valid()); |
1153 s_mock_modification_date.BindInt64(0, mock_modification_date); | 1153 s_mock_modification_date.BindInt64(0, mock_modification_date); |
1154 ASSERT_TRUE(s_mock_modification_date.Run()); | 1154 ASSERT_TRUE(s_mock_modification_date.Run()); |
1155 | 1155 |
1156 // Finally, call into |UpdateCreditCard()| without changing the credit card. | 1156 // Finally, call into |UpdateCreditCard()| without changing the credit card. |
1157 // The modification date should not change. | 1157 // The modification date should not change. |
1158 db.GetAutofillTable()->UpdateCreditCard(credit_card); | 1158 db.GetAutofillTable()->UpdateCreditCard(credit_card); |
1159 | 1159 |
1160 // Get the profile. | 1160 // Get the profile. |
1161 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), | 1161 ASSERT_TRUE(db.GetAutofillTable()->GetCreditCard(credit_card.guid(), |
1162 &tmp_credit_card)); | 1162 &tmp_credit_card)); |
1163 db_credit_card.reset(tmp_credit_card); | 1163 db_credit_card.reset(tmp_credit_card); |
1164 EXPECT_EQ(credit_card, *db_credit_card); | 1164 EXPECT_EQ(credit_card, *db_credit_card); |
1165 sql::Statement s_unchanged(db.GetSQLConnection()->GetUniqueStatement( | 1165 sql::Statement s_unchanged(db.GetSQLConnection()->GetUniqueStatement( |
1166 "SELECT date_modified FROM credit_cards")); | 1166 "SELECT date_modified FROM credit_cards")); |
1167 ASSERT_TRUE(s_unchanged); | 1167 ASSERT_TRUE(s_unchanged.is_valid()); |
1168 ASSERT_TRUE(s_unchanged.Step()); | 1168 ASSERT_TRUE(s_unchanged.Step()); |
1169 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); | 1169 EXPECT_EQ(mock_modification_date, s_unchanged.ColumnInt64(0)); |
1170 EXPECT_FALSE(s_unchanged.Step()); | 1170 EXPECT_FALSE(s_unchanged.Step()); |
1171 } | 1171 } |
1172 | 1172 |
1173 TEST_F(AutofillTableTest, RemoveAutofillProfilesAndCreditCardsModifiedBetween) { | 1173 TEST_F(AutofillTableTest, RemoveAutofillProfilesAndCreditCardsModifiedBetween) { |
1174 WebDatabase db; | 1174 WebDatabase db; |
1175 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); | 1175 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); |
1176 | 1176 |
1177 // Populate the autofill_profiles and credit_cards tables. | 1177 // Populate the autofill_profiles and credit_cards tables. |
(...skipping 28 matching lines...) Expand all Loading... |
1206 std::vector<std::string> credit_card_guids; | 1206 std::vector<std::string> credit_card_guids; |
1207 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( | 1207 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
1208 Time::FromTimeT(17), Time::FromTimeT(41), | 1208 Time::FromTimeT(17), Time::FromTimeT(41), |
1209 &profile_guids, &credit_card_guids); | 1209 &profile_guids, &credit_card_guids); |
1210 ASSERT_EQ(2UL, profile_guids.size()); | 1210 ASSERT_EQ(2UL, profile_guids.size()); |
1211 EXPECT_EQ("00000000-0000-0000-0000-000000000001", profile_guids[0]); | 1211 EXPECT_EQ("00000000-0000-0000-0000-000000000001", profile_guids[0]); |
1212 EXPECT_EQ("00000000-0000-0000-0000-000000000002", profile_guids[1]); | 1212 EXPECT_EQ("00000000-0000-0000-0000-000000000002", profile_guids[1]); |
1213 sql::Statement s_autofill_profiles_bounded( | 1213 sql::Statement s_autofill_profiles_bounded( |
1214 db.GetSQLConnection()->GetUniqueStatement( | 1214 db.GetSQLConnection()->GetUniqueStatement( |
1215 "SELECT date_modified FROM autofill_profiles")); | 1215 "SELECT date_modified FROM autofill_profiles")); |
1216 ASSERT_TRUE(s_autofill_profiles_bounded); | 1216 ASSERT_TRUE(s_autofill_profiles_bounded.is_valid()); |
1217 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); | 1217 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); |
1218 EXPECT_EQ(11, s_autofill_profiles_bounded.ColumnInt64(0)); | 1218 EXPECT_EQ(11, s_autofill_profiles_bounded.ColumnInt64(0)); |
1219 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); | 1219 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); |
1220 EXPECT_EQ(41, s_autofill_profiles_bounded.ColumnInt64(0)); | 1220 EXPECT_EQ(41, s_autofill_profiles_bounded.ColumnInt64(0)); |
1221 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); | 1221 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); |
1222 EXPECT_EQ(51, s_autofill_profiles_bounded.ColumnInt64(0)); | 1222 EXPECT_EQ(51, s_autofill_profiles_bounded.ColumnInt64(0)); |
1223 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); | 1223 ASSERT_TRUE(s_autofill_profiles_bounded.Step()); |
1224 EXPECT_EQ(61, s_autofill_profiles_bounded.ColumnInt64(0)); | 1224 EXPECT_EQ(61, s_autofill_profiles_bounded.ColumnInt64(0)); |
1225 EXPECT_FALSE(s_autofill_profiles_bounded.Step()); | 1225 EXPECT_FALSE(s_autofill_profiles_bounded.Step()); |
1226 ASSERT_EQ(3UL, credit_card_guids.size()); | 1226 ASSERT_EQ(3UL, credit_card_guids.size()); |
1227 EXPECT_EQ("00000000-0000-0000-0000-000000000006", credit_card_guids[0]); | 1227 EXPECT_EQ("00000000-0000-0000-0000-000000000006", credit_card_guids[0]); |
1228 EXPECT_EQ("00000000-0000-0000-0000-000000000007", credit_card_guids[1]); | 1228 EXPECT_EQ("00000000-0000-0000-0000-000000000007", credit_card_guids[1]); |
1229 EXPECT_EQ("00000000-0000-0000-0000-000000000008", credit_card_guids[2]); | 1229 EXPECT_EQ("00000000-0000-0000-0000-000000000008", credit_card_guids[2]); |
1230 sql::Statement s_credit_cards_bounded( | 1230 sql::Statement s_credit_cards_bounded( |
1231 db.GetSQLConnection()->GetUniqueStatement( | 1231 db.GetSQLConnection()->GetUniqueStatement( |
1232 "SELECT date_modified FROM credit_cards")); | 1232 "SELECT date_modified FROM credit_cards")); |
1233 ASSERT_TRUE(s_credit_cards_bounded); | 1233 ASSERT_TRUE(s_credit_cards_bounded.is_valid()); |
1234 ASSERT_TRUE(s_credit_cards_bounded.Step()); | 1234 ASSERT_TRUE(s_credit_cards_bounded.Step()); |
1235 EXPECT_EQ(47, s_credit_cards_bounded.ColumnInt64(0)); | 1235 EXPECT_EQ(47, s_credit_cards_bounded.ColumnInt64(0)); |
1236 ASSERT_TRUE(s_credit_cards_bounded.Step()); | 1236 ASSERT_TRUE(s_credit_cards_bounded.Step()); |
1237 EXPECT_EQ(57, s_credit_cards_bounded.ColumnInt64(0)); | 1237 EXPECT_EQ(57, s_credit_cards_bounded.ColumnInt64(0)); |
1238 ASSERT_TRUE(s_credit_cards_bounded.Step()); | 1238 ASSERT_TRUE(s_credit_cards_bounded.Step()); |
1239 EXPECT_EQ(67, s_credit_cards_bounded.ColumnInt64(0)); | 1239 EXPECT_EQ(67, s_credit_cards_bounded.ColumnInt64(0)); |
1240 EXPECT_FALSE(s_credit_cards_bounded.Step()); | 1240 EXPECT_FALSE(s_credit_cards_bounded.Step()); |
1241 | 1241 |
1242 // Remove all entries modified on or after time 51 (unbounded range). | 1242 // Remove all entries modified on or after time 51 (unbounded range). |
1243 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( | 1243 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
1244 Time::FromTimeT(51), Time(), | 1244 Time::FromTimeT(51), Time(), |
1245 &profile_guids, &credit_card_guids); | 1245 &profile_guids, &credit_card_guids); |
1246 ASSERT_EQ(2UL, profile_guids.size()); | 1246 ASSERT_EQ(2UL, profile_guids.size()); |
1247 EXPECT_EQ("00000000-0000-0000-0000-000000000004", profile_guids[0]); | 1247 EXPECT_EQ("00000000-0000-0000-0000-000000000004", profile_guids[0]); |
1248 EXPECT_EQ("00000000-0000-0000-0000-000000000005", profile_guids[1]); | 1248 EXPECT_EQ("00000000-0000-0000-0000-000000000005", profile_guids[1]); |
1249 sql::Statement s_autofill_profiles_unbounded( | 1249 sql::Statement s_autofill_profiles_unbounded( |
1250 db.GetSQLConnection()->GetUniqueStatement( | 1250 db.GetSQLConnection()->GetUniqueStatement( |
1251 "SELECT date_modified FROM autofill_profiles")); | 1251 "SELECT date_modified FROM autofill_profiles")); |
1252 ASSERT_TRUE(s_autofill_profiles_unbounded); | 1252 ASSERT_TRUE(s_autofill_profiles_unbounded.is_valid()); |
1253 ASSERT_TRUE(s_autofill_profiles_unbounded.Step()); | 1253 ASSERT_TRUE(s_autofill_profiles_unbounded.Step()); |
1254 EXPECT_EQ(11, s_autofill_profiles_unbounded.ColumnInt64(0)); | 1254 EXPECT_EQ(11, s_autofill_profiles_unbounded.ColumnInt64(0)); |
1255 ASSERT_TRUE(s_autofill_profiles_unbounded.Step()); | 1255 ASSERT_TRUE(s_autofill_profiles_unbounded.Step()); |
1256 EXPECT_EQ(41, s_autofill_profiles_unbounded.ColumnInt64(0)); | 1256 EXPECT_EQ(41, s_autofill_profiles_unbounded.ColumnInt64(0)); |
1257 EXPECT_FALSE(s_autofill_profiles_unbounded.Step()); | 1257 EXPECT_FALSE(s_autofill_profiles_unbounded.Step()); |
1258 ASSERT_EQ(2UL, credit_card_guids.size()); | 1258 ASSERT_EQ(2UL, credit_card_guids.size()); |
1259 EXPECT_EQ("00000000-0000-0000-0000-000000000010", credit_card_guids[0]); | 1259 EXPECT_EQ("00000000-0000-0000-0000-000000000010", credit_card_guids[0]); |
1260 EXPECT_EQ("00000000-0000-0000-0000-000000000011", credit_card_guids[1]); | 1260 EXPECT_EQ("00000000-0000-0000-0000-000000000011", credit_card_guids[1]); |
1261 sql::Statement s_credit_cards_unbounded( | 1261 sql::Statement s_credit_cards_unbounded( |
1262 db.GetSQLConnection()->GetUniqueStatement( | 1262 db.GetSQLConnection()->GetUniqueStatement( |
1263 "SELECT date_modified FROM credit_cards")); | 1263 "SELECT date_modified FROM credit_cards")); |
1264 ASSERT_TRUE(s_credit_cards_unbounded); | 1264 ASSERT_TRUE(s_credit_cards_unbounded.is_valid()); |
1265 ASSERT_TRUE(s_credit_cards_unbounded.Step()); | 1265 ASSERT_TRUE(s_credit_cards_unbounded.Step()); |
1266 EXPECT_EQ(47, s_credit_cards_unbounded.ColumnInt64(0)); | 1266 EXPECT_EQ(47, s_credit_cards_unbounded.ColumnInt64(0)); |
1267 EXPECT_FALSE(s_credit_cards_unbounded.Step()); | 1267 EXPECT_FALSE(s_credit_cards_unbounded.Step()); |
1268 | 1268 |
1269 // Remove all remaining entries. | 1269 // Remove all remaining entries. |
1270 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( | 1270 db.GetAutofillTable()->RemoveAutofillProfilesAndCreditCardsModifiedBetween( |
1271 Time(), Time(), | 1271 Time(), Time(), |
1272 &profile_guids, &credit_card_guids); | 1272 &profile_guids, &credit_card_guids); |
1273 ASSERT_EQ(2UL, profile_guids.size()); | 1273 ASSERT_EQ(2UL, profile_guids.size()); |
1274 EXPECT_EQ("00000000-0000-0000-0000-000000000000", profile_guids[0]); | 1274 EXPECT_EQ("00000000-0000-0000-0000-000000000000", profile_guids[0]); |
1275 EXPECT_EQ("00000000-0000-0000-0000-000000000003", profile_guids[1]); | 1275 EXPECT_EQ("00000000-0000-0000-0000-000000000003", profile_guids[1]); |
1276 sql::Statement s_autofill_profiles_empty( | 1276 sql::Statement s_autofill_profiles_empty( |
1277 db.GetSQLConnection()->GetUniqueStatement( | 1277 db.GetSQLConnection()->GetUniqueStatement( |
1278 "SELECT date_modified FROM autofill_profiles")); | 1278 "SELECT date_modified FROM autofill_profiles")); |
1279 ASSERT_TRUE(s_autofill_profiles_empty); | 1279 ASSERT_TRUE(s_autofill_profiles_empty.is_valid()); |
1280 EXPECT_FALSE(s_autofill_profiles_empty.Step()); | 1280 EXPECT_FALSE(s_autofill_profiles_empty.Step()); |
1281 ASSERT_EQ(1UL, credit_card_guids.size()); | 1281 ASSERT_EQ(1UL, credit_card_guids.size()); |
1282 EXPECT_EQ("00000000-0000-0000-0000-000000000009", credit_card_guids[0]); | 1282 EXPECT_EQ("00000000-0000-0000-0000-000000000009", credit_card_guids[0]); |
1283 sql::Statement s_credit_cards_empty( | 1283 sql::Statement s_credit_cards_empty( |
1284 db.GetSQLConnection()->GetUniqueStatement( | 1284 db.GetSQLConnection()->GetUniqueStatement( |
1285 "SELECT date_modified FROM credit_cards")); | 1285 "SELECT date_modified FROM credit_cards")); |
1286 ASSERT_TRUE(s_credit_cards_empty); | 1286 ASSERT_TRUE(s_credit_cards_empty.is_valid()); |
1287 EXPECT_FALSE(s_credit_cards_empty.Step()); | 1287 EXPECT_FALSE(s_credit_cards_empty.Step()); |
1288 } | 1288 } |
1289 | 1289 |
1290 TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_NoResults) { | 1290 TEST_F(AutofillTableTest, Autofill_GetAllAutofillEntries_NoResults) { |
1291 WebDatabase db; | 1291 WebDatabase db; |
1292 | 1292 |
1293 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); | 1293 ASSERT_EQ(sql::INIT_OK, db.Init(file_)); |
1294 | 1294 |
1295 std::vector<AutofillEntry> entries; | 1295 std::vector<AutofillEntry> entries; |
1296 ASSERT_TRUE(db.GetAutofillTable()->GetAllAutofillEntries(&entries)); | 1296 ASSERT_TRUE(db.GetAutofillTable()->GetAllAutofillEntries(&entries)); |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1435 | 1435 |
1436 // make sure the lists of entries match | 1436 // make sure the lists of entries match |
1437 ASSERT_EQ(expected_entries.size(), entry_set.size()); | 1437 ASSERT_EQ(expected_entries.size(), entry_set.size()); |
1438 AutofillEntrySetIterator it; | 1438 AutofillEntrySetIterator it; |
1439 for (it = entry_set.begin(); it != entry_set.end(); it++) { | 1439 for (it = entry_set.begin(); it != entry_set.end(); it++) { |
1440 expected_entries.erase(*it); | 1440 expected_entries.erase(*it); |
1441 } | 1441 } |
1442 | 1442 |
1443 EXPECT_EQ(0U, expected_entries.size()); | 1443 EXPECT_EQ(0U, expected_entries.size()); |
1444 } | 1444 } |
OLD | NEW |