| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 <set> | 5 #include <set> |
| 6 #include <string> | 6 #include <string> |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 10 | 10 |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 | 95 |
| 96 void RunAndSignal(const base::Closure& cb, WaitableEvent* event) { | 96 void RunAndSignal(const base::Closure& cb, WaitableEvent* event) { |
| 97 cb.Run(); | 97 cb.Run(); |
| 98 event->Signal(); | 98 event->Signal(); |
| 99 } | 99 } |
| 100 | 100 |
| 101 } // namespace | 101 } // namespace |
| 102 | 102 |
| 103 class AutofillTableMock : public AutofillTable { | 103 class AutofillTableMock : public AutofillTable { |
| 104 public: | 104 public: |
| 105 AutofillTableMock() : AutofillTable() {} | 105 AutofillTableMock() : AutofillTable("en-US") {} |
| 106 MOCK_METHOD2(RemoveFormElement, | 106 MOCK_METHOD2(RemoveFormElement, |
| 107 bool(const string16& name, const string16& value)); // NOLINT | 107 bool(const string16& name, const string16& value)); // NOLINT |
| 108 MOCK_METHOD1(GetAllAutofillEntries, | 108 MOCK_METHOD1(GetAllAutofillEntries, |
| 109 bool(std::vector<AutofillEntry>* entries)); // NOLINT | 109 bool(std::vector<AutofillEntry>* entries)); // NOLINT |
| 110 MOCK_METHOD3(GetAutofillTimestamps, | 110 MOCK_METHOD3(GetAutofillTimestamps, |
| 111 bool(const string16& name, // NOLINT | 111 bool(const string16& name, // NOLINT |
| 112 const string16& value, | 112 const string16& value, |
| 113 std::vector<base::Time>* timestamps)); | 113 std::vector<base::Time>* timestamps)); |
| 114 MOCK_METHOD1(UpdateAutofillEntries, | 114 MOCK_METHOD1(UpdateAutofillEntries, |
| 115 bool(const std::vector<AutofillEntry>&)); // NOLINT | 115 bool(const std::vector<AutofillEntry>&)); // NOLINT |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 EXPECT_CALL(*factory, CreateSharedChangeProcessor()). | 379 EXPECT_CALL(*factory, CreateSharedChangeProcessor()). |
| 380 WillOnce(MakeSharedChangeProcessor()); | 380 WillOnce(MakeSharedChangeProcessor()); |
| 381 EXPECT_CALL(*factory, | 381 EXPECT_CALL(*factory, |
| 382 GetSyncableServiceForType(syncer::AUTOFILL_PROFILE)). | 382 GetSyncableServiceForType(syncer::AUTOFILL_PROFILE)). |
| 383 WillOnce(MakeAutofillProfileSyncComponents(wds)); | 383 WillOnce(MakeAutofillProfileSyncComponents(wds)); |
| 384 } | 384 } |
| 385 }; | 385 }; |
| 386 | 386 |
| 387 class MockPersonalDataManager : public PersonalDataManager { | 387 class MockPersonalDataManager : public PersonalDataManager { |
| 388 public: | 388 public: |
| 389 MockPersonalDataManager() : PersonalDataManager("en-US") {} |
| 389 MOCK_CONST_METHOD0(IsDataLoaded, bool()); | 390 MOCK_CONST_METHOD0(IsDataLoaded, bool()); |
| 390 MOCK_METHOD0(LoadProfiles, void()); | 391 MOCK_METHOD0(LoadProfiles, void()); |
| 391 MOCK_METHOD0(LoadCreditCards, void()); | 392 MOCK_METHOD0(LoadCreditCards, void()); |
| 392 MOCK_METHOD0(Refresh, void()); | 393 MOCK_METHOD0(Refresh, void()); |
| 393 }; | 394 }; |
| 394 | 395 |
| 395 class MockPersonalDataManagerService : public PersonalDataManagerService { | 396 class MockPersonalDataManagerService : public PersonalDataManagerService { |
| 396 public: | 397 public: |
| 397 static ProfileKeyedService* Build(Profile* profile) { | 398 static ProfileKeyedService* Build(Profile* profile) { |
| 398 return new MockPersonalDataManagerService(); | 399 return new MockPersonalDataManagerService(); |
| (...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1082 "91601", "US", "12345678910"); | 1083 "91601", "US", "12345678910"); |
| 1083 | 1084 |
| 1084 AutofillProfile* native_profile = new AutofillProfile; | 1085 AutofillProfile* native_profile = new AutofillProfile; |
| 1085 // Same address, but different names, phones and e-mails. | 1086 // Same address, but different names, phones and e-mails. |
| 1086 autofill_test::SetProfileInfoWithGuid(native_profile, | 1087 autofill_test::SetProfileInfoWithGuid(native_profile, |
| 1087 "23355099-1170-4B71-8ED4-144470CC9EBF", "Billing", "Alicia", "Saenz", | 1088 "23355099-1170-4B71-8ED4-144470CC9EBF", "Billing", "Alicia", "Saenz", |
| 1088 "joewayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", | 1089 "joewayne@me.xyz", "Fox", "123 Zoo St.", "unit 5", "Hollywood", "CA", |
| 1089 "91601", "US", "19482937549"); | 1090 "91601", "US", "19482937549"); |
| 1090 | 1091 |
| 1091 AutofillProfile expected_profile(sync_profile); | 1092 AutofillProfile expected_profile(sync_profile); |
| 1092 expected_profile.OverwriteWithOrAddTo(*native_profile); | 1093 expected_profile.OverwriteWithOrAddTo(*native_profile, "en-US"); |
| 1093 | 1094 |
| 1094 std::vector<AutofillProfile*> native_profiles; | 1095 std::vector<AutofillProfile*> native_profiles; |
| 1095 native_profiles.push_back(native_profile); | 1096 native_profiles.push_back(native_profile); |
| 1096 EXPECT_CALL(autofill_table_, GetAutofillProfiles(_)). | 1097 EXPECT_CALL(autofill_table_, GetAutofillProfiles(_)). |
| 1097 WillOnce(DoAll(SetArgumentPointee<0>(native_profiles), Return(true))); | 1098 WillOnce(DoAll(SetArgumentPointee<0>(native_profiles), Return(true))); |
| 1098 EXPECT_CALL(autofill_table_, | 1099 EXPECT_CALL(autofill_table_, |
| 1099 AddAutofillProfile(MatchProfiles(expected_profile))). | 1100 AddAutofillProfile(MatchProfiles(expected_profile))). |
| 1100 WillOnce(Return(true)); | 1101 WillOnce(Return(true)); |
| 1101 EXPECT_CALL(autofill_table_, | 1102 EXPECT_CALL(autofill_table_, |
| 1102 RemoveAutofillProfile("23355099-1170-4B71-8ED4-144470CC9EBF")). | 1103 RemoveAutofillProfile("23355099-1170-4B71-8ED4-144470CC9EBF")). |
| 1103 WillOnce(Return(true)); | 1104 WillOnce(Return(true)); |
| 1104 std::vector<AutofillProfile> sync_profiles; | 1105 std::vector<AutofillProfile> sync_profiles; |
| 1105 sync_profiles.push_back(sync_profile); | 1106 sync_profiles.push_back(sync_profile); |
| 1106 AddAutofillHelper<AutofillProfile> add_autofill(this, sync_profiles); | 1107 AddAutofillHelper<AutofillProfile> add_autofill(this, sync_profiles); |
| 1107 | 1108 |
| 1108 EXPECT_CALL(*personal_data_manager_, Refresh()); | 1109 EXPECT_CALL(*personal_data_manager_, Refresh()); |
| 1109 StartSyncService(add_autofill.callback(), false, syncer::AUTOFILL_PROFILE); | 1110 StartSyncService(add_autofill.callback(), false, syncer::AUTOFILL_PROFILE); |
| 1110 ASSERT_TRUE(add_autofill.success()); | 1111 ASSERT_TRUE(add_autofill.success()); |
| 1111 | 1112 |
| 1112 std::vector<AutofillProfile> new_sync_profiles; | 1113 std::vector<AutofillProfile> new_sync_profiles; |
| 1113 ASSERT_TRUE(GetAutofillProfilesFromSyncDBUnderProfileNode( | 1114 ASSERT_TRUE(GetAutofillProfilesFromSyncDBUnderProfileNode( |
| 1114 &new_sync_profiles)); | 1115 &new_sync_profiles)); |
| 1115 ASSERT_EQ(1U, new_sync_profiles.size()); | 1116 ASSERT_EQ(1U, new_sync_profiles.size()); |
| 1116 // Check that key fields are the same. | 1117 // Check that key fields are the same. |
| 1117 EXPECT_TRUE(new_sync_profiles[0].IsSubsetOf(sync_profile)); | 1118 EXPECT_TRUE(new_sync_profiles[0].IsSubsetOf(sync_profile, "en-US")); |
| 1118 // Check that multivalued fields of the synced back data include original | 1119 // Check that multivalued fields of the synced back data include original |
| 1119 // data. | 1120 // data. |
| 1120 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, NAME_FULL)); | 1121 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, NAME_FULL)); |
| 1121 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, EMAIL_ADDRESS)); | 1122 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, EMAIL_ADDRESS)); |
| 1122 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, | 1123 EXPECT_TRUE(IncludesField(new_sync_profiles[0], sync_profile, |
| 1123 PHONE_HOME_WHOLE_NUMBER)); | 1124 PHONE_HOME_WHOLE_NUMBER)); |
| 1124 } | 1125 } |
| 1125 | 1126 |
| 1126 TEST_F(ProfileSyncServiceAutofillTest, MergeProfileWithDifferentGuid) { | 1127 TEST_F(ProfileSyncServiceAutofillTest, MergeProfileWithDifferentGuid) { |
| 1127 AutofillProfile sync_profile; | 1128 AutofillProfile sync_profile; |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1348 std::vector<AutofillEntry> sync_entries; | 1349 std::vector<AutofillEntry> sync_entries; |
| 1349 std::vector<AutofillProfile> sync_profiles; | 1350 std::vector<AutofillProfile> sync_profiles; |
| 1350 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); | 1351 ASSERT_TRUE(GetAutofillEntriesFromSyncDB(&sync_entries, &sync_profiles)); |
| 1351 EXPECT_EQ(3U, sync_entries.size()); | 1352 EXPECT_EQ(3U, sync_entries.size()); |
| 1352 EXPECT_EQ(0U, sync_profiles.size()); | 1353 EXPECT_EQ(0U, sync_profiles.size()); |
| 1353 for (size_t i = 0; i < sync_entries.size(); i++) { | 1354 for (size_t i = 0; i < sync_entries.size(); i++) { |
| 1354 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() | 1355 DVLOG(1) << "Entry " << i << ": " << sync_entries[i].key().name() |
| 1355 << ", " << sync_entries[i].key().value(); | 1356 << ", " << sync_entries[i].key().value(); |
| 1356 } | 1357 } |
| 1357 } | 1358 } |
| OLD | NEW |