| 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 5b6028604de0f69420507d9d0ac62c69c20f9c0d..0281d7e6bab213bef9e5527a39714bcfd3018fb4 100644
|
| --- a/components/autofill/core/browser/personal_data_manager_unittest.cc
|
| +++ b/components/autofill/core/browser/personal_data_manager_unittest.cc
|
| @@ -4147,13 +4147,14 @@ TEST_F(PersonalDataManagerTest, SaveImportedProfile) {
|
| EXPECT_EQ(base::UTF8ToUTF16(changed_field.field_value),
|
| saved_profiles.front()->GetRawInfo(changed_field.field_type));
|
| }
|
| - // Verify that the merged profile's modification and use dates were
|
| - // updated.
|
| + // Verify that the merged profile's use count, use date and modification
|
| + // date were updated.
|
| + EXPECT_EQ(2U, saved_profiles.front()->use_count());
|
| + EXPECT_GT(base::TimeDelta::FromMilliseconds(500),
|
| + base::Time::Now() - saved_profiles.front()->use_date());
|
| EXPECT_GT(
|
| base::TimeDelta::FromMilliseconds(500),
|
| base::Time::Now() - saved_profiles.front()->modification_date());
|
| - EXPECT_GT(base::TimeDelta::FromMilliseconds(500),
|
| - base::Time::Now() - saved_profiles.front()->use_date());
|
| }
|
|
|
| // Erase the profiles for the next test.
|
| @@ -4198,4 +4199,46 @@ TEST_F(PersonalDataManagerTest, MergeProfile_Frecency) {
|
| EXPECT_EQ(profile2.guid(), guid);
|
| }
|
|
|
| +// Tests that MergeProfile produces a merged profile with the expected usage
|
| +// statistics.
|
| +TEST_F(PersonalDataManagerTest, MergeProfile_UsageStats) {
|
| + // Create an initial profile with a use count of 10, an old use date and an
|
| + // old modification date of 4 days ago.
|
| + AutofillProfile profile(base::GenerateGUID(), "https://www.example.com");
|
| + test::SetProfileInfo(&profile, "Homer", "Jay", "Simpson",
|
| + "homer.simpson@abc.com", "SNP", "742 Evergreen Terrace",
|
| + "", "Springfield", "IL", "91601", "US", "12345678910");
|
| + profile.set_use_count(4U);
|
| + profile.set_use_date(base::Time::Now() - base::TimeDelta::FromDays(4));
|
| + profile.set_modification_date(base::Time::Now() -
|
| + base::TimeDelta::FromDays(4));
|
| +
|
| + // Create the |existing_profiles| vector.
|
| + std::vector<AutofillProfile*> existing_profiles;
|
| + existing_profiles.push_back(&profile);
|
| +
|
| + // Create a new imported profile that will get merged with the existing one.
|
| + 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 existing profile.
|
| + EXPECT_EQ(profile.guid(), guid);
|
| + // The use count should have been incremented by one.
|
| + EXPECT_EQ(5U, profile.use_count());
|
| + // The use date and modification dates should have been set to less than 500
|
| + // milliseconds ago.
|
| + EXPECT_GT(base::TimeDelta::FromMilliseconds(500),
|
| + base::Time::Now() - profile.use_date());
|
| + EXPECT_GT(base::TimeDelta::FromMilliseconds(500),
|
| + base::Time::Now() - profile.modification_date());
|
| +}
|
| +
|
| } // namespace autofill
|
|
|