Index: components/autofill/core/browser/personal_data_manager_unittest.cc |
diff --git a/components/autofill/core/browser/personal_data_manager_unittest.cc b/components/autofill/core/browser/personal_data_manager_unittest.cc |
index dab6be0898e0c60056921f2b8882e63f12a8bf37..506530c81637113c885400fb160075666965d2fc 100644 |
--- a/components/autofill/core/browser/personal_data_manager_unittest.cc |
+++ b/components/autofill/core/browser/personal_data_manager_unittest.cc |
@@ -54,15 +54,12 @@ |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
-using base::ASCIIToUTF16; |
-using base::UTF8ToUTF16; |
- |
namespace autofill { |
namespace { |
enum UserMode { USER_MODE_NORMAL, USER_MODE_INCOGNITO }; |
-const std::string kUTF8MidlineEllipsis = |
+const char kUTF8MidlineEllipsis[] = |
" " |
"\xE2\x80\xA2\xE2\x80\x86" |
"\xE2\x80\xA2\xE2\x80\x86" |
@@ -357,7 +354,7 @@ class PersonalDataManagerTest : public PersonalDataManagerTestBase, |
TEST_F(PersonalDataManagerTest, AddProfile) { |
// Add profile0 to the database. |
AutofillProfile profile0(test::GetFullProfile()); |
- profile0.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16("j@s.com")); |
+ profile0.SetRawInfo(EMAIL_ADDRESS, base::ASCIIToUTF16("j@s.com")); |
personal_data_->AddProfile(profile0); |
// Reload the database. |
@@ -384,7 +381,7 @@ TEST_F(PersonalDataManagerTest, AddProfile) { |
// New profile with different email. |
AutofillProfile profile1 = profile0; |
profile1.set_guid(base::GenerateGUID()); |
- profile1.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16("john@smith.com")); |
+ profile1.SetRawInfo(EMAIL_ADDRESS, base::ASCIIToUTF16("john@smith.com")); |
// Add the different profile. This should save as a separate profile. |
// Note that if this same profile was "merged" it would collapse to one |
@@ -409,7 +406,7 @@ TEST_F(PersonalDataManagerTest, AddProfile_BasicInformation) { |
// Add a profile to the database. |
AutofillProfile profile(test::GetFullProfile()); |
- profile.SetRawInfo(EMAIL_ADDRESS, ASCIIToUTF16("j@s.com")); |
+ profile.SetRawInfo(EMAIL_ADDRESS, base::ASCIIToUTF16("j@s.com")); |
personal_data_->AddProfile(profile); |
// Reload the database. |
@@ -472,7 +469,7 @@ TEST_F(PersonalDataManagerTest, AddUpdateRemoveProfiles) { |
ExpectSameElements(profiles, personal_data_->GetProfiles()); |
// Update, remove, and add. |
- profile0.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); |
+ profile0.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("John")); |
personal_data_->UpdateProfile(profile0); |
personal_data_->RemoveByGUID(profile1.guid()); |
personal_data_->AddProfile(profile2); |
@@ -525,7 +522,7 @@ TEST_F(PersonalDataManagerTest, AddUpdateRemoveCreditCards) { |
ExpectSameElements(cards, personal_data_->GetCreditCards()); |
// Update, remove, and add. |
- credit_card0.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Joe")); |
+ credit_card0.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Joe")); |
personal_data_->UpdateCreditCard(credit_card0); |
personal_data_->RemoveByGUID(credit_card1.guid()); |
personal_data_->AddCreditCard(credit_card2); |
@@ -667,8 +664,8 @@ TEST_F(PersonalDataManagerTest, UpdateUnverifiedProfilesAndCreditCards) { |
EXPECT_EQ(original_credit_card.origin(), cards2[0]->origin()); |
// Try to update with data changed as well. |
- profile.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); |
- credit_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Joe")); |
+ profile.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("John")); |
+ credit_card.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Joe")); |
personal_data_->UpdateProfile(profile); |
personal_data_->UpdateCreditCard(credit_card); |
@@ -764,12 +761,12 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"9012" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", |
"2109" /* Mastercard */, "12", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kMasterCard); |
+ server_cards.back().SetNetworkForMaskedCard(kMasterCard); |
server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); |
test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", |
@@ -799,7 +796,7 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { |
CreditCard* unmasked_card = &server_cards.front(); |
unmasked_card->set_record_type(CreditCard::FULL_SERVER_CARD); |
- unmasked_card->SetNumber(ASCIIToUTF16("423456789012")); |
+ unmasked_card->SetNumber(base::ASCIIToUTF16("423456789012")); |
EXPECT_NE(0, server_cards.front().Compare( |
*personal_data_->GetCreditCards().front())); |
personal_data_->UpdateServerCreditCard(*unmasked_card); |
@@ -813,7 +810,7 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCards) { |
CreditCard* remasked_card = &server_cards.back(); |
remasked_card->set_record_type(CreditCard::MASKED_SERVER_CARD); |
- remasked_card->SetNumber(ASCIIToUTF16("8555")); |
+ remasked_card->SetNumber(base::ASCIIToUTF16("8555")); |
EXPECT_NE( |
0, server_cards.back().Compare(*personal_data_->GetCreditCards().back())); |
personal_data_->UpdateServerCreditCard(*remasked_card); |
@@ -926,17 +923,17 @@ TEST_F(PersonalDataManagerTest, PopulateUniqueIDsOnLoad) { |
TEST_F(PersonalDataManagerTest, SetUniqueCreditCardLabels) { |
CreditCard credit_card0(base::GenerateGUID(), "https://www.example.com"); |
- credit_card0.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("John")); |
+ credit_card0.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("John")); |
CreditCard credit_card1(base::GenerateGUID(), "https://www.example.com"); |
- credit_card1.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Paul")); |
+ credit_card1.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Paul")); |
CreditCard credit_card2(base::GenerateGUID(), "https://www.example.com"); |
- credit_card2.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Ringo")); |
+ credit_card2.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Ringo")); |
CreditCard credit_card3(base::GenerateGUID(), "https://www.example.com"); |
- credit_card3.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Other")); |
+ credit_card3.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Other")); |
CreditCard credit_card4(base::GenerateGUID(), "https://www.example.com"); |
- credit_card4.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Ozzy")); |
+ credit_card4.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Ozzy")); |
CreditCard credit_card5(base::GenerateGUID(), "https://www.example.com"); |
- credit_card5.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Dio")); |
+ credit_card5.SetRawInfo(CREDIT_CARD_NAME_FULL, base::ASCIIToUTF16("Dio")); |
// Add the test credit cards to the database. |
personal_data_->AddCreditCard(credit_card0); |
@@ -1056,8 +1053,8 @@ TEST_F(PersonalDataManagerTest, Refresh) { |
// was open with a previous snapshot of the profiles, and something |
// [e.g. sync] removed a profile from the browser. In this edge case, we will |
// end up in a consistent state by dropping the write). |
- profile0.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Mar")); |
- profile2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Jo")); |
+ profile0.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Mar")); |
+ profile2.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Jo")); |
personal_data_->UpdateProfile(profile0); |
personal_data_->AddProfile(profile1); |
personal_data_->AddProfile(profile2); |
@@ -1784,9 +1781,10 @@ TEST_F(PersonalDataManagerTest, ImportAddressProfiles_SameProfileWithConflict) { |
const std::vector<AutofillProfile*>& results2 = personal_data_->GetProfiles(); |
// Full name, phone formatting and country are updated. |
- expected.SetRawInfo(NAME_FULL, ASCIIToUTF16("George Washington")); |
- expected.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("+1 650-555-6666")); |
- expected.SetRawInfo(ADDRESS_HOME_COUNTRY, ASCIIToUTF16("US")); |
+ expected.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("George Washington")); |
+ expected.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
+ base::ASCIIToUTF16("+1 650-555-6666")); |
+ expected.SetRawInfo(ADDRESS_HOME_COUNTRY, base::ASCIIToUTF16("US")); |
ASSERT_EQ(1U, results2.size()); |
EXPECT_EQ(0, expected.Compare(*results2[0])); |
} |
@@ -1863,7 +1861,7 @@ TEST_F(PersonalDataManagerTest, ImportAddressProfiles_MissingInfoInOld) { |
test::SetProfileInfo(&expected2, "George", NULL, |
"Washington", "theprez@gmail.com", NULL, "190 High Street", NULL, |
"Philadelphia", "Pennsylvania", "19106", NULL, NULL); |
- expected2.SetRawInfo(NAME_FULL, ASCIIToUTF16("George Washington")); |
+ expected2.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("George Washington")); |
ASSERT_EQ(1U, results2.size()); |
EXPECT_EQ(0, expected2.Compare(*results2[0])); |
} |
@@ -1944,7 +1942,7 @@ TEST_F(PersonalDataManagerTest, ImportAddressProfiles_MissingInfoInNew) { |
const std::vector<AutofillProfile*>& results2 = personal_data_->GetProfiles(); |
// The merge operation will populate the full name if it's empty. |
- expected.SetRawInfo(NAME_FULL, ASCIIToUTF16("George Washington")); |
+ expected.SetRawInfo(NAME_FULL, base::ASCIIToUTF16("George Washington")); |
ASSERT_EQ(1U, results2.size()); |
EXPECT_EQ(0, expected.Compare(*results2[0])); |
} |
@@ -2250,15 +2248,15 @@ TEST_F(PersonalDataManagerTest, ImportCreditCard_MonthSelectInvalidText) { |
AddFullCreditCardForm(&form, "Biggie Smalls", "4111-1111-1111-1111", |
"Feb (2)", "2999"); |
// Add option values and contents to the expiration month field. |
- ASSERT_EQ(ASCIIToUTF16("exp_month"), form.fields[2].name); |
+ ASSERT_EQ(base::ASCIIToUTF16("exp_month"), form.fields[2].name); |
std::vector<base::string16> values; |
- values.push_back(ASCIIToUTF16("1")); |
- values.push_back(ASCIIToUTF16("2")); |
- values.push_back(ASCIIToUTF16("3")); |
+ values.push_back(base::ASCIIToUTF16("1")); |
+ values.push_back(base::ASCIIToUTF16("2")); |
+ values.push_back(base::ASCIIToUTF16("3")); |
std::vector<base::string16> contents; |
- contents.push_back(ASCIIToUTF16("Jan (1)")); |
- contents.push_back(ASCIIToUTF16("Feb (2)")); |
- contents.push_back(ASCIIToUTF16("Mar (3)")); |
+ contents.push_back(base::ASCIIToUTF16("Jan (1)")); |
+ contents.push_back(base::ASCIIToUTF16("Feb (2)")); |
+ contents.push_back(base::ASCIIToUTF16("Mar (3)")); |
form.fields[2].option_values = values; |
form.fields[2].option_contents = contents; |
@@ -2417,7 +2415,7 @@ TEST_F(PersonalDataManagerTest, |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1111" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
test::SetServerCreditCards(autofill_table_, server_cards); |
// Type the same data as the masked card into a form. |
@@ -2977,7 +2975,7 @@ TEST_F(PersonalDataManagerTest, SaveImportedProfileWithVerifiedData) { |
new_verified_profile.set_guid(base::GenerateGUID()); |
new_verified_profile.set_origin(kSettingsOrigin); |
new_verified_profile.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
- ASCIIToUTF16("1 234 567-8910")); |
+ base::ASCIIToUTF16("1 234 567-8910")); |
EXPECT_TRUE(new_verified_profile.IsVerified()); |
personal_data_->SaveImportedProfile(new_verified_profile); |
@@ -2991,8 +2989,10 @@ TEST_F(PersonalDataManagerTest, SaveImportedProfileWithVerifiedData) { |
const std::vector<AutofillProfile*>& results = personal_data_->GetProfiles(); |
ASSERT_EQ(1U, results.size()); |
AutofillProfile expected(new_verified_profile); |
- expected.SetRawInfo(NAME_FULL, ASCIIToUTF16("Marion Mitchell Morrison")); |
- expected.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("+1 234-567-8910")); |
+ expected.SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("Marion Mitchell Morrison")); |
+ expected.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, |
+ base::ASCIIToUTF16("+1 234-567-8910")); |
EXPECT_EQ(0, expected.Compare(*results[0])) |
<< "result = {" << *results[0] << "} | expected = {" << expected << "}"; |
} |
@@ -3015,7 +3015,8 @@ TEST_F(PersonalDataManagerTest, SaveImportedCreditCardWithVerifiedData) { |
CreditCard new_verified_card = credit_card; |
new_verified_card.set_guid(base::GenerateGUID()); |
- new_verified_card.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("B. Small")); |
+ new_verified_card.SetRawInfo(CREDIT_CARD_NAME_FULL, |
+ base::ASCIIToUTF16("B. Small")); |
EXPECT_TRUE(new_verified_card.IsVerified()); |
personal_data_->SaveImportedCreditCard(new_verified_card); |
@@ -3028,7 +3029,7 @@ TEST_F(PersonalDataManagerTest, SaveImportedCreditCardWithVerifiedData) { |
// Expect that the saved credit card is updated. |
const std::vector<CreditCard*>& results = personal_data_->GetCreditCards(); |
ASSERT_EQ(1U, results.size()); |
- EXPECT_EQ(ASCIIToUTF16("B. Small"), |
+ EXPECT_EQ(base::ASCIIToUTF16("B. Small"), |
results[0]->GetRawInfo(CREDIT_CARD_NAME_FULL)); |
} |
@@ -3195,31 +3196,33 @@ TEST_F(PersonalDataManagerTest, IncognitoReadOnly) { |
EXPECT_EQ(1U, personal_data_->GetCreditCards().size()); |
// Saving or creating profiles from imported profiles shouldn't work. |
- steve_jobs.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Steve")); |
+ steve_jobs.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Steve")); |
personal_data_->SaveImportedProfile(steve_jobs); |
- bill_gates.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Bill Gates")); |
+ bill_gates.SetRawInfo(CREDIT_CARD_NAME_FULL, |
+ base::ASCIIToUTF16("Bill Gates")); |
personal_data_->SaveImportedCreditCard(bill_gates); |
ResetPersonalDataManager(USER_MODE_INCOGNITO); |
- EXPECT_EQ(ASCIIToUTF16("Steven"), |
+ EXPECT_EQ(base::ASCIIToUTF16("Steven"), |
personal_data_->GetProfiles()[0]->GetRawInfo(NAME_FIRST)); |
EXPECT_EQ( |
- ASCIIToUTF16("William H. Gates"), |
+ base::ASCIIToUTF16("William H. Gates"), |
personal_data_->GetCreditCards()[0]->GetRawInfo(CREDIT_CARD_NAME_FULL)); |
// Updating existing profiles shouldn't work. |
- steve_jobs.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Steve")); |
+ steve_jobs.SetRawInfo(NAME_FIRST, base::ASCIIToUTF16("Steve")); |
personal_data_->UpdateProfile(steve_jobs); |
- bill_gates.SetRawInfo(CREDIT_CARD_NAME_FULL, ASCIIToUTF16("Bill Gates")); |
+ bill_gates.SetRawInfo(CREDIT_CARD_NAME_FULL, |
+ base::ASCIIToUTF16("Bill Gates")); |
personal_data_->UpdateCreditCard(bill_gates); |
ResetPersonalDataManager(USER_MODE_INCOGNITO); |
- EXPECT_EQ(ASCIIToUTF16("Steven"), |
+ EXPECT_EQ(base::ASCIIToUTF16("Steven"), |
personal_data_->GetProfiles()[0]->GetRawInfo(NAME_FIRST)); |
EXPECT_EQ( |
- ASCIIToUTF16("William H. Gates"), |
+ base::ASCIIToUTF16("William H. Gates"), |
personal_data_->GetCreditCards()[0]->GetRawInfo(CREDIT_CARD_NAME_FULL)); |
// Removing shouldn't work. |
@@ -3546,7 +3549,7 @@ TEST_F(PersonalDataManagerTest, |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b459")); |
test::SetCreditCardInfo(&server_cards.back(), "Emmet Dalton", "2110", "12", |
"2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
test::SetServerCreditCards(autofill_table_, server_cards); |
personal_data_->Refresh(); |
@@ -3556,7 +3559,7 @@ TEST_F(PersonalDataManagerTest, |
std::vector<Suggestion> suggestions = |
personal_data_->GetCreditCardSuggestions(AutofillType(CREDIT_CARD_NUMBER), |
- ASCIIToUTF16("12345678")); |
+ base::ASCIIToUTF16("12345678")); |
// There should be no suggestions. |
ASSERT_EQ(0U, suggestions.size()); |
@@ -3575,14 +3578,14 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_LocalCardsRanking) { |
ASSERT_EQ(3U, suggestions.size()); |
// Ordered as expected. |
- EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[0].value); |
- EXPECT_TRUE(suggestions[0].label.find(ASCIIToUTF16("9012")) != |
+ EXPECT_EQ(base::ASCIIToUTF16("John Dillinger"), suggestions[0].value); |
+ EXPECT_TRUE(suggestions[0].label.find(base::ASCIIToUTF16("9012")) != |
base::string16::npos); |
- EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
- EXPECT_TRUE(suggestions[1].label.find(ASCIIToUTF16("8555")) != |
+ EXPECT_EQ(base::ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
+ EXPECT_TRUE(suggestions[1].label.find(base::ASCIIToUTF16("8555")) != |
base::string16::npos); |
- EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[2].value); |
- EXPECT_TRUE(suggestions[2].label.find(ASCIIToUTF16("2109")) != |
+ EXPECT_EQ(base::ASCIIToUTF16("Bonnie Parker"), suggestions[2].value); |
+ EXPECT_TRUE(suggestions[2].label.find(base::ASCIIToUTF16("2109")) != |
base::string16::npos); |
} |
@@ -3600,7 +3603,7 @@ TEST_F(PersonalDataManagerTest, |
server_cards.back().set_use_count(2); |
server_cards.back().set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(1)); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "b460")); |
test::SetCreditCardInfo(&server_cards.back(), "Jesse James", "2109", "12", |
@@ -3622,11 +3625,11 @@ TEST_F(PersonalDataManagerTest, |
ASSERT_EQ(5U, suggestions.size()); |
// All cards should be ordered as expected. |
- EXPECT_EQ(ASCIIToUTF16("Jesse James"), suggestions[0].value); |
- EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[1].value); |
- EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[2].value); |
- EXPECT_EQ(ASCIIToUTF16("Emmet Dalton"), suggestions[3].value); |
- EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[4].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Jesse James"), suggestions[0].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("John Dillinger"), suggestions[1].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Clyde Barrow"), suggestions[2].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Emmet Dalton"), suggestions[3].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Bonnie Parker"), suggestions[4].value); |
} |
// Test that expired cards are ordered by frecency and are always suggested |
@@ -3674,11 +3677,11 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ExpiredCards) { |
ASSERT_EQ(3U, suggestions.size()); |
// The never used non expired card should be suggested first. |
- EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[0].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Bonnie Parker"), suggestions[0].value); |
// The expired cards should be sorted by frecency |
- EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
- EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[2].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("John Dillinger"), suggestions[2].value); |
} |
// Test that a card that doesn't have a number is not shown in the suggestions |
@@ -3717,9 +3720,10 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_NumberMissing) { |
AutofillType(CREDIT_CARD_NUMBER), |
/* field_contents= */ base::string16()); |
ASSERT_EQ(1U, suggestions.size()); |
- EXPECT_EQ(UTF8ToUTF16("Amex" + kUTF8MidlineEllipsis + "8555"), |
- suggestions[0].value); |
- EXPECT_EQ(ASCIIToUTF16("04/99"), suggestions[0].label); |
+ EXPECT_EQ( |
+ base::UTF8ToUTF16(std::string("Amex") + kUTF8MidlineEllipsis + "8555"), |
+ suggestions[0].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("04/99"), suggestions[0].label); |
} |
// Tests the suggestions of duplicate local and server credit cards. |
@@ -3739,7 +3743,7 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ServerDuplicates) { |
server_cards.back().set_use_count(2); |
server_cards.back().set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(15)); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
// This server card is identical to a local card, but has a different |
// card type. Not a dupe and therefore both should appear in the suggestions. |
@@ -3749,7 +3753,7 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ServerDuplicates) { |
server_cards.back().set_use_count(3); |
server_cards.back().set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(15)); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
// This unmasked server card is an exact dupe of a local card. Therefore only |
// this card should appear in the suggestions as full server cards have |
@@ -3772,22 +3776,26 @@ TEST_F(PersonalDataManagerTest, GetCreditCardSuggestions_ServerDuplicates) { |
AutofillType(CREDIT_CARD_NAME_FULL), |
/* field_contents= */ base::string16()); |
ASSERT_EQ(4U, suggestions.size()); |
- EXPECT_EQ(ASCIIToUTF16("John Dillinger"), suggestions[0].value); |
- EXPECT_EQ(ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
- EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[2].value); |
- EXPECT_EQ(ASCIIToUTF16("Bonnie Parker"), suggestions[3].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("John Dillinger"), suggestions[0].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Clyde Barrow"), suggestions[1].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Bonnie Parker"), suggestions[2].value); |
+ EXPECT_EQ(base::ASCIIToUTF16("Bonnie Parker"), suggestions[3].value); |
suggestions = personal_data_->GetCreditCardSuggestions( |
AutofillType(CREDIT_CARD_NUMBER), /* field_contents= */ base::string16()); |
ASSERT_EQ(4U, suggestions.size()); |
- EXPECT_EQ(UTF8ToUTF16("Visa" + kUTF8MidlineEllipsis + "9012"), |
- suggestions[0].value); |
- EXPECT_EQ(UTF8ToUTF16("Amex" + kUTF8MidlineEllipsis + "8555"), |
- suggestions[1].value); |
- EXPECT_EQ(UTF8ToUTF16("MasterCard" + kUTF8MidlineEllipsis + "2109"), |
+ EXPECT_EQ( |
+ base::UTF8ToUTF16(std::string("Visa") + kUTF8MidlineEllipsis + "9012"), |
+ suggestions[0].value); |
+ EXPECT_EQ( |
+ base::UTF8ToUTF16(std::string("Amex") + kUTF8MidlineEllipsis + "8555"), |
+ suggestions[1].value); |
+ EXPECT_EQ(base::UTF8ToUTF16(std::string("MasterCard") + kUTF8MidlineEllipsis + |
+ "2109"), |
suggestions[2].value); |
- EXPECT_EQ(UTF8ToUTF16("Visa" + kUTF8MidlineEllipsis + "2109"), |
- suggestions[3].value); |
+ EXPECT_EQ( |
+ base::UTF8ToUTF16(std::string("Visa") + kUTF8MidlineEllipsis + "2109"), |
+ suggestions[3].value); |
} |
// Tests that a full server card can be a dupe of more than one local card. |
@@ -3884,7 +3892,7 @@ TEST_F(PersonalDataManagerTest, DedupeCreditCardToSuggest_LocalShadowsMasked) { |
masked_card.set_use_count(2); |
masked_card.set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(15)); |
- masked_card.SetTypeForMaskedCard(kVisaCard); |
+ masked_card.SetNetworkForMaskedCard(kVisaCard); |
credit_cards.push_back(&masked_card); |
PersonalDataManager::DedupeCreditCardToSuggest(&credit_cards); |
@@ -3914,7 +3922,7 @@ TEST_F(PersonalDataManagerTest, DedupeCreditCardToSuggest_FullServerAndMasked) { |
masked_card.set_use_count(2); |
masked_card.set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(15)); |
- masked_card.SetTypeForMaskedCard(kVisaCard); |
+ masked_card.SetNetworkForMaskedCard(kVisaCard); |
credit_cards.push_back(&masked_card); |
PersonalDataManager::DedupeCreditCardToSuggest(&credit_cards); |
@@ -3941,7 +3949,7 @@ TEST_F(PersonalDataManagerTest, DedupeCreditCardToSuggest_DifferentCards) { |
credit_card4.set_use_count(3); |
credit_card4.set_use_date(AutofillClock::Now() - |
base::TimeDelta::FromDays(15)); |
- credit_card4.SetTypeForMaskedCard(kVisaCard); |
+ credit_card4.SetNetworkForMaskedCard(kVisaCard); |
credit_cards.push_back(&credit_card4); |
// Create a full server card that is slightly different of the two other |
@@ -4028,12 +4036,12 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCardUsageStats) { |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"9012" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "b456")); |
test::SetCreditCardInfo(&server_cards.back(), "Bonnie Parker", |
"4444" /* Mastercard */, "12", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kMasterCard); |
+ server_cards.back().SetNetworkForMaskedCard(kMasterCard); |
server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); |
test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", |
@@ -4067,7 +4075,7 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCardUsageStats) { |
CreditCard* unmasked_card = &server_cards.front(); |
unmasked_card->set_record_type(CreditCard::FULL_SERVER_CARD); |
- unmasked_card->SetNumber(ASCIIToUTF16("423456789012")); |
+ unmasked_card->SetNumber(base::ASCIIToUTF16("423456789012")); |
EXPECT_NE(0, unmasked_card->Compare( |
*personal_data_->GetCreditCards().front())); |
personal_data_->UpdateServerCreditCard(*unmasked_card); |
@@ -4131,7 +4139,7 @@ TEST_F(PersonalDataManagerTest, UpdateServerCreditCardUsageStats) { |
// Upgrading to unmasked retains the usage stats (and increments them). |
CreditCard* unmasked_card2 = &server_cards[1]; |
unmasked_card2->set_record_type(CreditCard::FULL_SERVER_CARD); |
- unmasked_card2->SetNumber(ASCIIToUTF16("5555555555554444")); |
+ unmasked_card2->SetNumber(base::ASCIIToUTF16("5555555555554444")); |
personal_data_->UpdateServerCreditCard(*unmasked_card2); |
server_cards[1].set_guid(personal_data_->GetCreditCards()[1]->guid()); |
@@ -4150,7 +4158,7 @@ TEST_F(PersonalDataManagerTest, ClearAllServerData) { |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"9012" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
test::SetServerCreditCards(autofill_table_, server_cards); |
personal_data_->Refresh(); |
@@ -4175,7 +4183,7 @@ TEST_F(PersonalDataManagerTest, DontDuplicateServerCard) { |
server_cards.push_back(CreditCard(CreditCard::MASKED_SERVER_CARD, "a123")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1881" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.push_back(CreditCard(CreditCard::FULL_SERVER_CARD, "c789")); |
test::SetCreditCardInfo(&server_cards.back(), "Clyde Barrow", |
@@ -4239,456 +4247,448 @@ TEST_F(PersonalDataManagerTest, DontDuplicateServerCard) { |
typedef struct { |
autofill::ServerFieldType field_type; |
std::string field_value; |
- } ProfileField; |
- |
- typedef std::vector<ProfileField> ProfileFields; |
- |
- typedef struct { |
- // Each test starts with a default pre-existing profile and applies these |
- // changes to it. |
- ProfileFields changes_to_original; |
- // Each test saves a second profile. Applies these changes to the default |
- // values before saving. |
- ProfileFields changes_to_new; |
- // For tests with profile merging, makes sure that these fields' values are |
- // the ones we expect (depending on the test). |
- ProfileFields changed_field_values; |
- } SaveImportedProfileTestCase; |
- |
- class SaveImportedProfileTest |
- : public PersonalDataManagerTestBase, |
- public testing::TestWithParam<SaveImportedProfileTestCase> { |
- public: |
- SaveImportedProfileTest() {} |
- ~SaveImportedProfileTest() override {} |
- |
- void SetUp() override { |
- OSCryptMocker::SetUpWithSingleton(); |
- prefs_ = test::PrefServiceForTesting(); |
- ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
- base::FilePath path = temp_dir_.GetPath().AppendASCII("TestWebDB"); |
- web_database_ = |
- new WebDatabaseService(path, base::ThreadTaskRunnerHandle::Get(), |
- base::ThreadTaskRunnerHandle::Get()); |
- |
- // Setup account tracker. |
- signin_client_.reset(new TestSigninClient(prefs_.get())); |
- account_tracker_.reset(new AccountTrackerService()); |
- account_tracker_->Initialize(signin_client_.get()); |
- signin_manager_.reset(new FakeSigninManagerBase(signin_client_.get(), |
- account_tracker_.get())); |
- signin_manager_->Initialize(prefs_.get()); |
- |
- // Hacky: hold onto a pointer but pass ownership. |
- autofill_table_ = new AutofillTable; |
- web_database_->AddTable( |
- std::unique_ptr<WebDatabaseTable>(autofill_table_)); |
- web_database_->LoadDatabase(); |
- autofill_database_service_ = new AutofillWebDataService( |
- web_database_, base::ThreadTaskRunnerHandle::Get(), |
- base::ThreadTaskRunnerHandle::Get(), |
- WebDataServiceBase::ProfileErrorCallback()); |
- autofill_database_service_->Init(); |
- |
- test::DisableSystemServices(prefs_.get()); |
- ResetPersonalDataManager(USER_MODE_NORMAL); |
- |
- // Reset the deduping pref to its default value. |
- personal_data_->pref_service_->SetInteger( |
- prefs::kAutofillLastVersionDeduped, 0); |
- personal_data_->pref_service_->SetBoolean( |
- prefs::kAutofillProfileUseDatesFixed, false); |
- } |
+} ProfileField; |
- void TearDown() override { |
- // Order of destruction is important as AutofillManager relies on |
- // PersonalDataManager to be around when it gets destroyed. |
- signin_manager_->Shutdown(); |
- signin_manager_.reset(); |
+typedef std::vector<ProfileField> ProfileFields; |
- account_tracker_->Shutdown(); |
- account_tracker_.reset(); |
- signin_client_.reset(); |
+typedef struct { |
+ // Each test starts with a default pre-existing profile and applies these |
+ // changes to it. |
+ ProfileFields changes_to_original; |
+ // Each test saves a second profile. Applies these changes to the default |
+ // values before saving. |
+ ProfileFields changes_to_new; |
+ // For tests with profile merging, makes sure that these fields' values are |
+ // the ones we expect (depending on the test). |
+ ProfileFields changed_field_values; |
+} SaveImportedProfileTestCase; |
+ |
+class SaveImportedProfileTest |
+ : public PersonalDataManagerTestBase, |
+ public testing::TestWithParam<SaveImportedProfileTestCase> { |
+ public: |
+ SaveImportedProfileTest() {} |
+ ~SaveImportedProfileTest() override {} |
- test::DisableSystemServices(prefs_.get()); |
- OSCryptMocker::TearDown(); |
- } |
- }; |
- |
- TEST_P(SaveImportedProfileTest, SaveImportedProfile) { |
- // Create the test clock. |
- TestAutofillClock test_clock; |
- auto test_case = GetParam(); |
- // Set the time to a specific value. |
- test_clock.SetNow(kArbitraryTime); |
- |
- SetupReferenceProfile(); |
- const std::vector<AutofillProfile*>& initial_profiles = |
- personal_data_->GetProfiles(); |
- |
- // Apply changes to the original profile (if applicable). |
- for (ProfileField change : test_case.changes_to_original) { |
- initial_profiles.front()->SetRawInfo( |
- change.field_type, base::UTF8ToUTF16(change.field_value)); |
- } |
+ void SetUp() override { |
+ OSCryptMocker::SetUpWithSingleton(); |
+ prefs_ = test::PrefServiceForTesting(); |
+ ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
+ base::FilePath path = temp_dir_.GetPath().AppendASCII("TestWebDB"); |
+ web_database_ = |
+ new WebDatabaseService(path, base::ThreadTaskRunnerHandle::Get(), |
+ base::ThreadTaskRunnerHandle::Get()); |
- // Set the time to a bigger value. |
- test_clock.SetNow(kSomeLaterTime); |
+ // Setup account tracker. |
+ signin_client_.reset(new TestSigninClient(prefs_.get())); |
+ account_tracker_.reset(new AccountTrackerService()); |
+ account_tracker_->Initialize(signin_client_.get()); |
+ signin_manager_.reset(new FakeSigninManagerBase(signin_client_.get(), |
+ account_tracker_.get())); |
+ signin_manager_->Initialize(prefs_.get()); |
- AutofillProfile profile2(base::GenerateGUID(), "https://www.example.com"); |
- test::SetProfileInfo(&profile2, "Marion", "Mitchell", "Morrison", |
- "johnwayne@me.xyz", "Fox", "123 Zoo St", "unit 5", |
- "Hollywood", "CA", "91601", "US", "12345678910"); |
+ // Hacky: hold onto a pointer but pass ownership. |
+ autofill_table_ = new AutofillTable; |
+ web_database_->AddTable(std::unique_ptr<WebDatabaseTable>(autofill_table_)); |
+ web_database_->LoadDatabase(); |
+ autofill_database_service_ = new AutofillWebDataService( |
+ web_database_, base::ThreadTaskRunnerHandle::Get(), |
+ base::ThreadTaskRunnerHandle::Get(), |
+ WebDataServiceBase::ProfileErrorCallback()); |
+ autofill_database_service_->Init(); |
- // Apply changes to the second profile (if applicable). |
- for (ProfileField change : test_case.changes_to_new) { |
- profile2.SetRawInfo(change.field_type, |
- base::UTF8ToUTF16(change.field_value)); |
- } |
+ test::DisableSystemServices(prefs_.get()); |
+ ResetPersonalDataManager(USER_MODE_NORMAL); |
- personal_data_->SaveImportedProfile(profile2); |
- |
- const std::vector<AutofillProfile*>& saved_profiles = |
- personal_data_->GetProfiles(); |
- |
- // If there are no merge changes to verify, make sure that two profiles were |
- // saved. |
- if (test_case.changed_field_values.empty()) { |
- EXPECT_EQ(2U, saved_profiles.size()); |
- } else { |
- EXPECT_EQ(1U, saved_profiles.size()); |
- |
- // Make sure the new information was merged correctly. |
- for (ProfileField changed_field : test_case.changed_field_values) { |
- EXPECT_EQ(base::UTF8ToUTF16(changed_field.field_value), |
- saved_profiles.front()->GetRawInfo(changed_field.field_type)); |
- } |
- // Verify that the merged profile's use count, use date and modification |
- // date were properly updated. |
- EXPECT_EQ(1U, saved_profiles.front()->use_count()); |
- EXPECT_EQ(kSomeLaterTime, saved_profiles.front()->use_date()); |
- EXPECT_EQ(kSomeLaterTime, saved_profiles.front()->modification_date()); |
- } |
+ // Reset the deduping pref to its default value. |
+ personal_data_->pref_service_->SetInteger( |
+ prefs::kAutofillLastVersionDeduped, 0); |
+ personal_data_->pref_service_->SetBoolean( |
+ prefs::kAutofillProfileUseDatesFixed, false); |
+ } |
- // Erase the profiles for the next test. |
- ResetProfiles(); |
+ void TearDown() override { |
+ // Order of destruction is important as AutofillManager relies on |
+ // PersonalDataManager to be around when it gets destroyed. |
+ signin_manager_->Shutdown(); |
+ signin_manager_.reset(); |
+ |
+ account_tracker_->Shutdown(); |
+ account_tracker_.reset(); |
+ signin_client_.reset(); |
+ |
+ test::DisableSystemServices(prefs_.get()); |
+ OSCryptMocker::TearDown(); |
+ } |
+}; |
+ |
+TEST_P(SaveImportedProfileTest, SaveImportedProfile) { |
+ // Create the test clock. |
+ TestAutofillClock test_clock; |
+ auto test_case = GetParam(); |
+ // Set the time to a specific value. |
+ test_clock.SetNow(kArbitraryTime); |
+ |
+ SetupReferenceProfile(); |
+ const std::vector<AutofillProfile*>& initial_profiles = |
+ personal_data_->GetProfiles(); |
+ |
+ // Apply changes to the original profile (if applicable). |
+ for (ProfileField change : test_case.changes_to_original) { |
+ initial_profiles.front()->SetRawInfo(change.field_type, |
+ base::UTF8ToUTF16(change.field_value)); |
} |
- INSTANTIATE_TEST_CASE_P( |
- PersonalDataManagerTest, |
- SaveImportedProfileTest, |
- testing::Values( |
- // Test that saving an identical profile except for the name results |
- // in two profiles being saved. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{NAME_FIRST, "Marionette"}}}, |
- |
- // Test that saving an identical profile except with the middle name |
- // initial instead of the full middle name results in the profiles |
- // getting merged and the full middle name being kept. |
- SaveImportedProfileTestCase{ |
- ProfileFields(), |
- {{NAME_MIDDLE, "M"}}, |
- {{NAME_MIDDLE, "Mitchell"}, |
- {NAME_FULL, "Marion Mitchell Morrison"}}}, |
- |
- // Test that saving an identical profile except with the full middle |
- // name instead of the middle name initial results in the profiles |
- // getting merged and the full middle name replacing the initial. |
- SaveImportedProfileTestCase{{{NAME_MIDDLE, "M"}}, |
- {{NAME_MIDDLE, "Mitchell"}}, |
- {{NAME_MIDDLE, "Mitchell"}}}, |
- |
- // Test that saving an identical profile except with no middle name |
- // results in the profiles getting merged and the full middle name |
- // being kept. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{NAME_MIDDLE, ""}}, |
- {{NAME_MIDDLE, "Mitchell"}}}, |
- |
- // Test that saving an identical profile except with a middle name |
- // initial results in the profiles getting merged and the middle name |
- // initial being saved. |
- SaveImportedProfileTestCase{{{NAME_MIDDLE, ""}}, |
- {{NAME_MIDDLE, "M"}}, |
- {{NAME_MIDDLE, "M"}}}, |
- |
- // Test that saving an identical profile except with a middle name |
- // results in the profiles getting merged and the full middle name |
- // being saved. |
- SaveImportedProfileTestCase{{{NAME_MIDDLE, ""}}, |
- {{NAME_MIDDLE, "Mitchell"}}, |
- {{NAME_MIDDLE, "Mitchell"}}}, |
- |
- // Test that saving a identical profile except with the full name set |
- // instead of the name parts results in the two profiles being merged |
- // and all the name parts kept and the full name being added. |
- SaveImportedProfileTestCase{ |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, ""}, |
- }, |
- { |
- {NAME_FIRST, ""}, |
- {NAME_MIDDLE, ""}, |
- {NAME_LAST, ""}, |
- {NAME_FULL, "Marion Mitchell Morrison"}, |
- }, |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, "Marion Mitchell Morrison"}, |
- }, |
- }, |
- |
- // Test that saving a identical profile except with the name parts set |
- // instead of the full name results in the two profiles being merged |
- // and the full name being kept and all the name parts being added. |
- SaveImportedProfileTestCase{ |
- { |
- {NAME_FIRST, ""}, |
- {NAME_MIDDLE, ""}, |
- {NAME_LAST, ""}, |
- {NAME_FULL, "Marion Mitchell Morrison"}, |
- }, |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, ""}, |
- }, |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, "Marion Mitchell Morrison"}, |
- }, |
- }, |
- |
- // Test that saving a profile that has only a full name set does not |
- // get merged with a profile with only the name parts set if the names |
- // are different. |
- SaveImportedProfileTestCase{ |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, ""}, |
- }, |
- { |
- {NAME_FIRST, ""}, |
- {NAME_MIDDLE, ""}, |
- {NAME_LAST, ""}, |
- {NAME_FULL, "John Thompson Smith"}, |
- }, |
- }, |
- |
- // Test that saving a profile that has only the name parts set does |
- // not get merged with a profile with only the full name set if the |
- // names are different. |
- SaveImportedProfileTestCase{ |
- { |
- {NAME_FIRST, ""}, |
- {NAME_MIDDLE, ""}, |
- {NAME_LAST, ""}, |
- {NAME_FULL, "John Thompson Smith"}, |
- }, |
- { |
- {NAME_FIRST, "Marion"}, |
- {NAME_MIDDLE, "Mitchell"}, |
- {NAME_LAST, "Morrison"}, |
- {NAME_FULL, ""}, |
- }, |
- }, |
- |
- // Test that saving an identical profile except for the first address |
- // line results in two profiles being saved. |
- SaveImportedProfileTestCase{ |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Aquarium St."}}}, |
- |
- // Test that saving an identical profile except for the second address |
- // line results in two profiles being saved. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{ADDRESS_HOME_LINE2, "unit 7"}}}, |
- |
- // Tests that saving an identical profile that has a new piece of |
- // information (company name) results in a merge and that the original |
- // empty value gets overwritten by the new information. |
- SaveImportedProfileTestCase{{{COMPANY_NAME, ""}}, |
- ProfileFields(), |
- {{COMPANY_NAME, "Fox"}}}, |
- |
- // Tests that saving an identical profile except a loss of information |
- // results in a merge but the original value is not overwritten (no |
- // information loss). |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{COMPANY_NAME, ""}}, |
- {{COMPANY_NAME, "Fox"}}}, |
- |
- // Tests that saving an identical profile except a slightly different |
- // postal code results in a merge with the new value kept. |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "R2C 0A1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C0A1"}}}, |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C 0A1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C 0A1"}}}, |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "r2c 0a1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
- {{ADDRESS_HOME_ZIP, "R2C0A1"}}}, |
- |
- // Tests that saving an identical profile plus a new piece of |
- // information on the address line 2 results in a merge and that the |
- // original empty value gets overwritten by the new information. |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE2, ""}}, |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical profile except a loss of information |
- // on the address line 2 results in a merge but that the original |
- // value gets not overwritten (no information loss). |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{ADDRESS_HOME_LINE2, ""}}, |
- {{ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical except with more punctuation in the |
- // fist address line, while the second is empty, results in a merge |
- // and that the original address gets overwritten. |
- SaveImportedProfileTestCase{ |
- {{ADDRESS_HOME_LINE2, ""}}, |
- {{ADDRESS_HOME_LINE2, ""}, {ADDRESS_HOME_LINE1, "123, Zoo St."}}, |
- {{ADDRESS_HOME_LINE1, "123, Zoo St."}}}, |
- |
- // Tests that saving an identical profile except with less punctuation |
- // in the fist address line, while the second is empty, results in a |
- // merge and that the longer address is retained. |
- SaveImportedProfileTestCase{ |
- {{ADDRESS_HOME_LINE2, ""}, {ADDRESS_HOME_LINE1, "123, Zoo St."}}, |
- {{ADDRESS_HOME_LINE2, ""}}, |
- {{ADDRESS_HOME_LINE1, "123 Zoo St"}}}, |
- |
- // Tests that saving an identical profile except additional |
- // punctuation in the two address lines results in a merge and that |
- // the newer address is retained. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
- {ADDRESS_HOME_LINE2, "unit. 5"}}, |
- {{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
- {ADDRESS_HOME_LINE2, "unit. 5"}}}, |
- |
- // Tests that saving an identical profile except less punctuation in |
- // the two address lines results in a merge and that the newer address |
- // is retained. |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
- {ADDRESS_HOME_LINE2, "unit. 5"}}, |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
- {ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical profile with accented characters in |
- // the two address lines results in a merge and that the newer address |
- // is retained. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
- {ADDRESS_HOME_LINE2, "üñìt 5"}}, |
- {{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
- {ADDRESS_HOME_LINE2, "üñìt 5"}}}, |
- |
- // Tests that saving an identical profile without accented characters |
- // in the two address lines results in a merge and that the newer |
- // address is retained. |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
- {ADDRESS_HOME_LINE2, "üñìt 5"}}, |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
- {ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical profile except that the address line |
- // 1 is in the address line 2 results in a merge and that the |
- // multi-lne address is retained. |
- SaveImportedProfileTestCase{ |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Zoo St, unit 5"}, |
- {ADDRESS_HOME_LINE2, ""}}, |
- {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
- {ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical profile except that the address line |
- // 2 contains part of the old address line 1 results in a merge and |
- // that the original address lines of the reference profile get |
- // overwritten. |
- SaveImportedProfileTestCase{ |
- {{ADDRESS_HOME_LINE1, "123 Zoo St, unit 5"}, |
- {ADDRESS_HOME_LINE2, ""}}, |
- ProfileFields(), |
- {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
- {ADDRESS_HOME_LINE2, "unit 5"}}}, |
- |
- // Tests that saving an identical profile except that the state is the |
- // abbreviation instead of the full form results in a merge and that |
- // the original state gets overwritten. |
- SaveImportedProfileTestCase{{{ADDRESS_HOME_STATE, "California"}}, |
- ProfileFields(), |
- {{ADDRESS_HOME_STATE, "CA"}}}, |
- |
- // Tests that saving an identical profile except that the state is the |
- // full form instead of the abbreviation results in a merge and that |
- // the abbreviated state is retained. |
- SaveImportedProfileTestCase{ProfileFields(), |
- {{ADDRESS_HOME_STATE, "California"}}, |
- {{ADDRESS_HOME_STATE, "CA"}}}, |
- |
- // Tests that saving and identical profile except that the company |
- // name has different punctuation and case results in a merge and that |
- // the syntax of the new profile replaces the old one. |
- SaveImportedProfileTestCase{{{COMPANY_NAME, "Stark inc"}}, |
- {{COMPANY_NAME, "Stark Inc."}}, |
- {{COMPANY_NAME, "Stark Inc."}}})); |
- |
- // Tests that MergeProfile tries to merge the imported profile into the |
- // existing profile in decreasing order of frecency. |
- TEST_F(PersonalDataManagerTest, MergeProfile_Frecency) { |
- // Create two very similar profiles except with different company names. |
- std::unique_ptr<AutofillProfile> profile1 = |
- base::MakeUnique<AutofillProfile>(base::GenerateGUID(), |
- "https://www.example.com"); |
- test::SetProfileInfo(profile1.get(), "Homer", "Jay", "Simpson", |
- "homer.simpson@abc.com", "SNP", |
- "742 Evergreen Terrace", "", "Springfield", "IL", |
- "91601", "US", "12345678910"); |
- AutofillProfile* profile2 = |
- new AutofillProfile(base::GenerateGUID(), "https://www.example.com"); |
- test::SetProfileInfo(profile2, "Homer", "Jay", "Simpson", |
- "homer.simpson@abc.com", "Fox", |
- "742 Evergreen Terrace", "", "Springfield", "IL", |
- "91601", "US", "12345678910"); |
- |
- // Give the "Fox" profile a bigger frecency score. |
- profile2->set_use_count(15); |
- |
- // Create the |existing_profiles| vector. |
- std::vector<std::unique_ptr<AutofillProfile>> existing_profiles; |
- existing_profiles.push_back(std::move(profile1)); |
- existing_profiles.push_back(base::WrapUnique(profile2)); |
- |
- // Create a new imported profile with no company name. |
- AutofillProfile imported_profile(base::GenerateGUID(), |
- "https://www.example.com"); |
- test::SetProfileInfo(&imported_profile, "Homer", "Jay", "Simpson", |
- "homer.simpson@abc.com", "", "742 Evergreen Terrace", |
- "", "Springfield", "IL", "91601", "US", "12345678910"); |
- |
- // Merge the imported profile into the existing profiles. |
- std::vector<AutofillProfile> profiles; |
- std::string guid = personal_data_->MergeProfile( |
- imported_profile, &existing_profiles, "US-EN", &profiles); |
- |
- // The new profile should be merged into the "fox" profile. |
- EXPECT_EQ(profile2->guid(), guid); |
+ // Set the time to a bigger value. |
+ test_clock.SetNow(kSomeLaterTime); |
+ |
+ AutofillProfile profile2(base::GenerateGUID(), "https://www.example.com"); |
+ test::SetProfileInfo(&profile2, "Marion", "Mitchell", "Morrison", |
+ "johnwayne@me.xyz", "Fox", "123 Zoo St", "unit 5", |
+ "Hollywood", "CA", "91601", "US", "12345678910"); |
+ |
+ // Apply changes to the second profile (if applicable). |
+ for (ProfileField change : test_case.changes_to_new) { |
+ profile2.SetRawInfo(change.field_type, |
+ base::UTF8ToUTF16(change.field_value)); |
+ } |
+ |
+ personal_data_->SaveImportedProfile(profile2); |
+ |
+ const std::vector<AutofillProfile*>& saved_profiles = |
+ personal_data_->GetProfiles(); |
+ |
+ // If there are no merge changes to verify, make sure that two profiles were |
+ // saved. |
+ if (test_case.changed_field_values.empty()) { |
+ EXPECT_EQ(2U, saved_profiles.size()); |
+ } else { |
+ EXPECT_EQ(1U, saved_profiles.size()); |
+ |
+ // Make sure the new information was merged correctly. |
+ for (ProfileField changed_field : test_case.changed_field_values) { |
+ EXPECT_EQ(base::UTF8ToUTF16(changed_field.field_value), |
+ saved_profiles.front()->GetRawInfo(changed_field.field_type)); |
+ } |
+ // Verify that the merged profile's use count, use date and modification |
+ // date were properly updated. |
+ EXPECT_EQ(1U, saved_profiles.front()->use_count()); |
+ EXPECT_EQ(kSomeLaterTime, saved_profiles.front()->use_date()); |
+ EXPECT_EQ(kSomeLaterTime, saved_profiles.front()->modification_date()); |
+ } |
+ |
+ // Erase the profiles for the next test. |
+ ResetProfiles(); |
+} |
+ |
+INSTANTIATE_TEST_CASE_P( |
+ PersonalDataManagerTest, |
+ SaveImportedProfileTest, |
+ testing::Values( |
+ // Test that saving an identical profile except for the name results |
+ // in two profiles being saved. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{NAME_FIRST, "Marionette"}}}, |
+ |
+ // Test that saving an identical profile except with the middle name |
+ // initial instead of the full middle name results in the profiles |
+ // getting merged and the full middle name being kept. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{NAME_MIDDLE, "M"}}, |
+ {{NAME_MIDDLE, "Mitchell"}, |
+ {NAME_FULL, "Marion Mitchell Morrison"}}}, |
+ |
+ // Test that saving an identical profile except with the full middle |
+ // name instead of the middle name initial results in the profiles |
+ // getting merged and the full middle name replacing the initial. |
+ SaveImportedProfileTestCase{{{NAME_MIDDLE, "M"}}, |
+ {{NAME_MIDDLE, "Mitchell"}}, |
+ {{NAME_MIDDLE, "Mitchell"}}}, |
+ |
+ // Test that saving an identical profile except with no middle name |
+ // results in the profiles getting merged and the full middle name |
+ // being kept. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{NAME_MIDDLE, ""}}, |
+ {{NAME_MIDDLE, "Mitchell"}}}, |
+ |
+ // Test that saving an identical profile except with a middle name |
+ // initial results in the profiles getting merged and the middle name |
+ // initial being saved. |
+ SaveImportedProfileTestCase{{{NAME_MIDDLE, ""}}, |
+ {{NAME_MIDDLE, "M"}}, |
+ {{NAME_MIDDLE, "M"}}}, |
+ |
+ // Test that saving an identical profile except with a middle name |
+ // results in the profiles getting merged and the full middle name |
+ // being saved. |
+ SaveImportedProfileTestCase{{{NAME_MIDDLE, ""}}, |
+ {{NAME_MIDDLE, "Mitchell"}}, |
+ {{NAME_MIDDLE, "Mitchell"}}}, |
+ |
+ // Test that saving a identical profile except with the full name set |
+ // instead of the name parts results in the two profiles being merged |
+ // and all the name parts kept and the full name being added. |
+ SaveImportedProfileTestCase{ |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, ""}, |
+ }, |
+ { |
+ {NAME_FIRST, ""}, |
+ {NAME_MIDDLE, ""}, |
+ {NAME_LAST, ""}, |
+ {NAME_FULL, "Marion Mitchell Morrison"}, |
+ }, |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, "Marion Mitchell Morrison"}, |
+ }, |
+ }, |
+ |
+ // Test that saving a identical profile except with the name parts set |
+ // instead of the full name results in the two profiles being merged |
+ // and the full name being kept and all the name parts being added. |
+ SaveImportedProfileTestCase{ |
+ { |
+ {NAME_FIRST, ""}, |
+ {NAME_MIDDLE, ""}, |
+ {NAME_LAST, ""}, |
+ {NAME_FULL, "Marion Mitchell Morrison"}, |
+ }, |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, ""}, |
+ }, |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, "Marion Mitchell Morrison"}, |
+ }, |
+ }, |
+ |
+ // Test that saving a profile that has only a full name set does not |
+ // get merged with a profile with only the name parts set if the names |
+ // are different. |
+ SaveImportedProfileTestCase{ |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, ""}, |
+ }, |
+ { |
+ {NAME_FIRST, ""}, |
+ {NAME_MIDDLE, ""}, |
+ {NAME_LAST, ""}, |
+ {NAME_FULL, "John Thompson Smith"}, |
+ }, |
+ }, |
+ |
+ // Test that saving a profile that has only the name parts set does |
+ // not get merged with a profile with only the full name set if the |
+ // names are different. |
+ SaveImportedProfileTestCase{ |
+ { |
+ {NAME_FIRST, ""}, |
+ {NAME_MIDDLE, ""}, |
+ {NAME_LAST, ""}, |
+ {NAME_FULL, "John Thompson Smith"}, |
+ }, |
+ { |
+ {NAME_FIRST, "Marion"}, |
+ {NAME_MIDDLE, "Mitchell"}, |
+ {NAME_LAST, "Morrison"}, |
+ {NAME_FULL, ""}, |
+ }, |
+ }, |
+ |
+ // Test that saving an identical profile except for the first address |
+ // line results in two profiles being saved. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Aquarium St."}}}, |
+ |
+ // Test that saving an identical profile except for the second address |
+ // line results in two profiles being saved. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE2, "unit 7"}}}, |
+ |
+ // Tests that saving an identical profile that has a new piece of |
+ // information (company name) results in a merge and that the original |
+ // empty value gets overwritten by the new information. |
+ SaveImportedProfileTestCase{{{COMPANY_NAME, ""}}, |
+ ProfileFields(), |
+ {{COMPANY_NAME, "Fox"}}}, |
+ |
+ // Tests that saving an identical profile except a loss of information |
+ // results in a merge but the original value is not overwritten (no |
+ // information loss). |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{COMPANY_NAME, ""}}, |
+ {{COMPANY_NAME, "Fox"}}}, |
+ |
+ // Tests that saving an identical profile except a slightly different |
+ // postal code results in a merge with the new value kept. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "R2C 0A1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C0A1"}}}, |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C 0A1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C 0A1"}}}, |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_ZIP, "r2c 0a1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C0A1"}}, |
+ {{ADDRESS_HOME_ZIP, "R2C0A1"}}}, |
+ |
+ // Tests that saving an identical profile plus a new piece of |
+ // information on the address line 2 results in a merge and that the |
+ // original empty value gets overwritten by the new information. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE2, ""}}, |
+ ProfileFields(), |
+ {{ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical profile except a loss of information |
+ // on the address line 2 results in a merge but that the original |
+ // value gets not overwritten (no information loss). |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE2, ""}}, |
+ {{ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical except with more punctuation in the |
+ // fist address line, while the second is empty, results in a merge |
+ // and that the original address gets overwritten. |
+ SaveImportedProfileTestCase{ |
+ {{ADDRESS_HOME_LINE2, ""}}, |
+ {{ADDRESS_HOME_LINE2, ""}, {ADDRESS_HOME_LINE1, "123, Zoo St."}}, |
+ {{ADDRESS_HOME_LINE1, "123, Zoo St."}}}, |
+ |
+ // Tests that saving an identical profile except with less punctuation |
+ // in the fist address line, while the second is empty, results in a |
+ // merge and that the longer address is retained. |
+ SaveImportedProfileTestCase{ |
+ {{ADDRESS_HOME_LINE2, ""}, {ADDRESS_HOME_LINE1, "123, Zoo St."}}, |
+ {{ADDRESS_HOME_LINE2, ""}}, |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St"}}}, |
+ |
+ // Tests that saving an identical profile except additional |
+ // punctuation in the two address lines results in a merge and that |
+ // the newer address is retained. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
+ {ADDRESS_HOME_LINE2, "unit. 5"}}, |
+ {{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
+ {ADDRESS_HOME_LINE2, "unit. 5"}}}, |
+ |
+ // Tests that saving an identical profile except less punctuation in |
+ // the two address lines results in a merge and that the newer address |
+ // is retained. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE1, "123, Zoo St."}, |
+ {ADDRESS_HOME_LINE2, "unit. 5"}}, |
+ ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
+ {ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical profile with accented characters in |
+ // the two address lines results in a merge and that the newer address |
+ // is retained. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
+ {ADDRESS_HOME_LINE2, "üñìt 5"}}, |
+ {{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
+ {ADDRESS_HOME_LINE2, "üñìt 5"}}}, |
+ |
+ // Tests that saving an identical profile without accented characters |
+ // in the two address lines results in a merge and that the newer |
+ // address is retained. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE1, "123 Zôö St"}, |
+ {ADDRESS_HOME_LINE2, "üñìt 5"}}, |
+ ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
+ {ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical profile except that the address line |
+ // 1 is in the address line 2 results in a merge and that the |
+ // multi-lne address is retained. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St, unit 5"}, |
+ {ADDRESS_HOME_LINE2, ""}}, |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
+ {ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical profile except that the address line |
+ // 2 contains part of the old address line 1 results in a merge and |
+ // that the original address lines of the reference profile get |
+ // overwritten. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_LINE1, "123 Zoo St, unit 5"}, |
+ {ADDRESS_HOME_LINE2, ""}}, |
+ ProfileFields(), |
+ {{ADDRESS_HOME_LINE1, "123 Zoo St"}, |
+ {ADDRESS_HOME_LINE2, "unit 5"}}}, |
+ |
+ // Tests that saving an identical profile except that the state is the |
+ // abbreviation instead of the full form results in a merge and that |
+ // the original state gets overwritten. |
+ SaveImportedProfileTestCase{{{ADDRESS_HOME_STATE, "California"}}, |
+ ProfileFields(), |
+ {{ADDRESS_HOME_STATE, "CA"}}}, |
+ |
+ // Tests that saving an identical profile except that the state is the |
+ // full form instead of the abbreviation results in a merge and that |
+ // the abbreviated state is retained. |
+ SaveImportedProfileTestCase{ProfileFields(), |
+ {{ADDRESS_HOME_STATE, "California"}}, |
+ {{ADDRESS_HOME_STATE, "CA"}}}, |
+ |
+ // Tests that saving and identical profile except that the company |
+ // name has different punctuation and case results in a merge and that |
+ // the syntax of the new profile replaces the old one. |
+ SaveImportedProfileTestCase{{{COMPANY_NAME, "Stark inc"}}, |
+ {{COMPANY_NAME, "Stark Inc."}}, |
+ {{COMPANY_NAME, "Stark Inc."}}})); |
+ |
+// Tests that MergeProfile tries to merge the imported profile into the |
+// existing profile in decreasing order of frecency. |
+TEST_F(PersonalDataManagerTest, MergeProfile_Frecency) { |
+ // Create two very similar profiles except with different company names. |
+ std::unique_ptr<AutofillProfile> profile1 = base::MakeUnique<AutofillProfile>( |
+ base::GenerateGUID(), "https://www.example.com"); |
+ test::SetProfileInfo(profile1.get(), "Homer", "Jay", "Simpson", |
+ "homer.simpson@abc.com", "SNP", "742 Evergreen Terrace", |
+ "", "Springfield", "IL", "91601", "US", "12345678910"); |
+ AutofillProfile* profile2 = |
+ new AutofillProfile(base::GenerateGUID(), "https://www.example.com"); |
+ test::SetProfileInfo(profile2, "Homer", "Jay", "Simpson", |
+ "homer.simpson@abc.com", "Fox", "742 Evergreen Terrace", |
+ "", "Springfield", "IL", "91601", "US", "12345678910"); |
+ |
+ // Give the "Fox" profile a bigger frecency score. |
+ profile2->set_use_count(15); |
+ |
+ // Create the |existing_profiles| vector. |
+ std::vector<std::unique_ptr<AutofillProfile>> existing_profiles; |
+ existing_profiles.push_back(std::move(profile1)); |
+ existing_profiles.push_back(base::WrapUnique(profile2)); |
+ |
+ // Create a new imported profile with no company name. |
+ AutofillProfile imported_profile(base::GenerateGUID(), |
+ "https://www.example.com"); |
+ test::SetProfileInfo(&imported_profile, "Homer", "Jay", "Simpson", |
+ "homer.simpson@abc.com", "", "742 Evergreen Terrace", "", |
+ "Springfield", "IL", "91601", "US", "12345678910"); |
+ |
+ // Merge the imported profile into the existing profiles. |
+ std::vector<AutofillProfile> profiles; |
+ std::string guid = personal_data_->MergeProfile( |
+ imported_profile, &existing_profiles, "US-EN", &profiles); |
+ |
+ // The new profile should be merged into the "fox" profile. |
+ EXPECT_EQ(profile2->guid(), guid); |
} |
// Tests that MergeProfile produces a merged profile with the expected usage |
@@ -5170,21 +5170,22 @@ TEST_F(PersonalDataManagerTest, ApplyDedupingRoutine_MergedProfileValues) { |
EXPECT_EQ(profile3.guid(), profiles[0]->guid()); |
// The address syntax that results from the merge should be the one from the |
// imported profile (highest frecency). |
- EXPECT_EQ(UTF8ToUTF16("742. Evergreen Terrace"), |
+ EXPECT_EQ(base::UTF8ToUTF16("742. Evergreen Terrace"), |
profiles[0]->GetRawInfo(ADDRESS_HOME_LINE1)); |
// The middle name should be full, even if the profile with the higher |
// frecency only had an initial (no loss of information). |
- EXPECT_EQ(UTF8ToUTF16("Jay"), profiles[0]->GetRawInfo(NAME_MIDDLE)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Jay"), profiles[0]->GetRawInfo(NAME_MIDDLE)); |
// The specified phone number from profile1 should be kept (no loss of |
// information). |
- EXPECT_EQ(UTF8ToUTF16("12345678910"), |
+ EXPECT_EQ(base::UTF8ToUTF16("12345678910"), |
profiles[0]->GetRawInfo(PHONE_HOME_WHOLE_NUMBER)); |
// The specified company name from profile2 should be kept (no loss of |
// information). |
- EXPECT_EQ(UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
// The specified country from the imported profile shoudl be kept (no loss of |
// information). |
- EXPECT_EQ(UTF8ToUTF16("US"), profiles[0]->GetRawInfo(ADDRESS_HOME_COUNTRY)); |
+ EXPECT_EQ(base::UTF8ToUTF16("US"), |
+ profiles[0]->GetRawInfo(ADDRESS_HOME_COUNTRY)); |
// The use count that results from the merge should be the max of all the |
// profiles use counts. |
EXPECT_EQ(10U, profiles[0]->use_count()); |
@@ -5629,17 +5630,18 @@ TEST_F(PersonalDataManagerTest, ApplyDedupingRoutine_MultipleDedupes) { |
// |Homer3|'s data: |
// The address should be saved with the syntax of |Homer1| since it has the |
// highest frecency score. |
- EXPECT_EQ(UTF8ToUTF16("742. Evergreen Terrace"), |
+ EXPECT_EQ(base::UTF8ToUTF16("742. Evergreen Terrace"), |
profiles[0]->GetRawInfo(ADDRESS_HOME_LINE1)); |
// The middle name should be the full version found in |Homer2|, |
- EXPECT_EQ(UTF8ToUTF16("Jay"), profiles[0]->GetRawInfo(NAME_MIDDLE)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Jay"), profiles[0]->GetRawInfo(NAME_MIDDLE)); |
// The phone number from |Homer2| should be kept (no loss of information). |
- EXPECT_EQ(UTF8ToUTF16("12345678910"), |
+ EXPECT_EQ(base::UTF8ToUTF16("12345678910"), |
profiles[0]->GetRawInfo(PHONE_HOME_WHOLE_NUMBER)); |
// The company name from |Homer3| should be kept (no loss of information). |
- EXPECT_EQ(UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
// The country from |Homer1| profile should be kept (no loss of information). |
- EXPECT_EQ(UTF8ToUTF16("US"), profiles[0]->GetRawInfo(ADDRESS_HOME_COUNTRY)); |
+ EXPECT_EQ(base::UTF8ToUTF16("US"), |
+ profiles[0]->GetRawInfo(ADDRESS_HOME_COUNTRY)); |
// The use count that results from the merge should be the max of Homer 1, 2 |
// and 3's respective use counts. |
EXPECT_EQ(10U, profiles[0]->use_count()); |
@@ -5713,7 +5715,6 @@ TEST_F(PersonalDataManagerTest, ApplyDedupingRoutine_NopIfOneProfile) { |
EXPECT_FALSE(personal_data_->ApplyDedupingRoutine()); |
} |
- |
// Tests that ApplyDedupingRoutine is not run a second time on the same major |
// version. |
TEST_F(PersonalDataManagerTest, ApplyDedupingRoutine_OncePerVersion) { |
@@ -5808,7 +5809,8 @@ TEST_F(PersonalDataManagerTest, |
"77401", "US", ""); |
// Wallet only provides a full name, so the above first and last names |
// will be ignored when the profile is written to the DB. |
- GetServerProfiles.back().SetRawInfo(NAME_FULL, ASCIIToUTF16("John Doe")); |
+ GetServerProfiles.back().SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("John Doe")); |
GetServerProfiles.back().set_use_count(100); |
autofill_table_->SetServerProfiles(GetServerProfiles); |
@@ -5826,7 +5828,7 @@ TEST_F(PersonalDataManagerTest, |
CreditCard(CreditCard::MASKED_SERVER_CARD, "server_card1")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1111" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.back().set_billing_address_id(kServerAddressId); |
test::SetServerCreditCards(autofill_table_, server_cards); |
@@ -5867,7 +5869,7 @@ TEST_F(PersonalDataManagerTest, |
// Make sure that the two profiles have not merged. |
ASSERT_EQ(2U, profiles.size()); |
- EXPECT_EQ(UTF8ToUTF16("John"), profiles[0]->GetRawInfo(NAME_FIRST)); |
+ EXPECT_EQ(base::UTF8ToUTF16("John"), profiles[0]->GetRawInfo(NAME_FIRST)); |
EXPECT_EQ(local_profile, *profiles[1]); |
// Make sure that the billing address id of the two cards now point to the |
@@ -5879,7 +5881,7 @@ TEST_F(PersonalDataManagerTest, |
// Make sure that the added address has the email address of the currently |
// signed-in user. |
- EXPECT_EQ(UTF8ToUTF16("syncuser@example.com"), |
+ EXPECT_EQ(base::UTF8ToUTF16("syncuser@example.com"), |
profiles[0]->GetRawInfo(EMAIL_ADDRESS)); |
} |
@@ -5915,7 +5917,8 @@ TEST_F(PersonalDataManagerTest, |
"1212 Center", "Bld. 5", "Orlando", "FL", "", "US", ""); |
// Wallet only provides a full name, so the above first and last names |
// will be ignored when the profile is written to the DB. |
- GetServerProfiles.back().SetRawInfo(NAME_FULL, ASCIIToUTF16("John Doe")); |
+ GetServerProfiles.back().SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("John Doe")); |
GetServerProfiles.back().set_use_count(100); |
autofill_table_->SetServerProfiles(GetServerProfiles); |
@@ -5933,7 +5936,7 @@ TEST_F(PersonalDataManagerTest, |
CreditCard(CreditCard::MASKED_SERVER_CARD, "server_card1")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1111" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.back().set_billing_address_id(kServerAddressId); |
test::SetServerCreditCards(autofill_table_, server_cards); |
@@ -5976,10 +5979,11 @@ TEST_F(PersonalDataManagerTest, |
ASSERT_EQ(1U, profiles.size()); |
// Check that the values were merged. |
- EXPECT_EQ(UTF8ToUTF16("john@doe.com"), |
+ EXPECT_EQ(base::UTF8ToUTF16("john@doe.com"), |
profiles[0]->GetRawInfo(EMAIL_ADDRESS)); |
- EXPECT_EQ(UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
- EXPECT_EQ(UTF8ToUTF16("32801"), profiles[0]->GetRawInfo(ADDRESS_HOME_ZIP)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
+ EXPECT_EQ(base::UTF8ToUTF16("32801"), |
+ profiles[0]->GetRawInfo(ADDRESS_HOME_ZIP)); |
// Make sure that the billing address id of the two cards now point to the |
// converted profile. |
@@ -6076,7 +6080,8 @@ TEST_F( |
""); |
// Wallet only provides a full name, so the above first and last names |
// will be ignored when the profile is written to the DB. |
- GetServerProfiles.back().SetRawInfo(NAME_FULL, ASCIIToUTF16("John Doe")); |
+ GetServerProfiles.back().SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("John Doe")); |
GetServerProfiles.back().set_use_count(100); |
// Add a similar server profile. |
@@ -6087,7 +6092,8 @@ TEST_F( |
"Orlando", "FL", "", "US", ""); |
// Wallet only provides a full name, so the above first and last names |
// will be ignored when the profile is written to the DB. |
- GetServerProfiles.back().SetRawInfo(NAME_FULL, ASCIIToUTF16("John Doe")); |
+ GetServerProfiles.back().SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("John Doe")); |
GetServerProfiles.back().set_use_count(200); |
autofill_table_->SetServerProfiles(GetServerProfiles); |
@@ -6105,7 +6111,7 @@ TEST_F( |
CreditCard(CreditCard::MASKED_SERVER_CARD, "server_card1")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1111" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.back().set_billing_address_id(kServerAddressId2); |
test::SetServerCreditCards(autofill_table_, server_cards); |
@@ -6152,12 +6158,13 @@ TEST_F( |
// Make sure that the two Wallet addresses merged together and were added as |
// a new local profile. |
ASSERT_EQ(2U, profiles.size()); |
- EXPECT_EQ(UTF8ToUTF16("John"), profiles[0]->GetRawInfo(NAME_FIRST)); |
+ EXPECT_EQ(base::UTF8ToUTF16("John"), profiles[0]->GetRawInfo(NAME_FIRST)); |
EXPECT_EQ(local_profile, *profiles[1]); |
// Check that the values were merged. |
- EXPECT_EQ(UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
- EXPECT_EQ(UTF8ToUTF16("32801"), profiles[0]->GetRawInfo(ADDRESS_HOME_ZIP)); |
+ EXPECT_EQ(base::UTF8ToUTF16("Fox"), profiles[0]->GetRawInfo(COMPANY_NAME)); |
+ EXPECT_EQ(base::UTF8ToUTF16("32801"), |
+ profiles[0]->GetRawInfo(ADDRESS_HOME_ZIP)); |
// Make sure that the billing address id of the two cards now point to the |
// converted profile. |
@@ -6171,7 +6178,7 @@ TEST_F( |
// address was already converted in the past. |
TEST_F( |
PersonalDataManagerTest, |
- ConvertWalletAddressesAndUpdateWalletCards_NewCard_AddressAlreadyConverted) { |
+ ConvertWalletAddressesAndUpdateWalletCards_NewCrd_AddressAlreadyConverted) { |
/////////////////////////////////////////////////////////////////////// |
// Setup. |
/////////////////////////////////////////////////////////////////////// |
@@ -6190,7 +6197,8 @@ TEST_F( |
"1212 Center", "Bld. 5", "Orlando", "FL", "", "US", ""); |
// Wallet only provides a full name, so the above first and last names |
// will be ignored when the profile is written to the DB. |
- GetServerProfiles.back().SetRawInfo(NAME_FULL, ASCIIToUTF16("John Doe")); |
+ GetServerProfiles.back().SetRawInfo(NAME_FULL, |
+ base::ASCIIToUTF16("John Doe")); |
GetServerProfiles.back().set_use_count(100); |
autofill_table_->SetServerProfiles(GetServerProfiles); |
@@ -6200,7 +6208,7 @@ TEST_F( |
CreditCard(CreditCard::MASKED_SERVER_CARD, "server_card1")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1111" /* Visa */, "01", "2999"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.back().set_billing_address_id(kServerAddressId); |
test::SetServerCreditCards(autofill_table_, server_cards); |
@@ -6238,7 +6246,7 @@ TEST_F( |
CreditCard(CreditCard::MASKED_SERVER_CARD, "server_card2")); |
test::SetCreditCardInfo(&server_cards.back(), "John Dillinger", |
"1112" /* Visa */, "01", "2888"); |
- server_cards.back().SetTypeForMaskedCard(kVisaCard); |
+ server_cards.back().SetNetworkForMaskedCard(kVisaCard); |
server_cards.back().set_billing_address_id(kServerAddressId); |
test::SetServerCreditCards(autofill_table_, server_cards); |