Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4138)

Unified Diff: chrome/browser/chromeos/contacts/google_contact_store_unittest.cc

Issue 10850033: contacts: Add ContactStoreFactory and FakeContactStore. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix GoogleContactStore db-saving bug and FakeContactDatabase partial-update bug and apply review fe… Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/contacts/google_contact_store_unittest.cc
diff --git a/chrome/browser/chromeos/contacts/google_contact_store_unittest.cc b/chrome/browser/chromeos/contacts/google_contact_store_unittest.cc
index 17bc6b89efafc756ed8b3961c76c8845fcb6bbf4..eae94fdb18f973f84b24bd84d256b00c6bbad022 100644
--- a/chrome/browser/chromeos/contacts/google_contact_store_unittest.cc
+++ b/chrome/browser/chromeos/contacts/google_contact_store_unittest.cc
@@ -184,6 +184,7 @@ TEST_F(GoogleContactStoreTest, UpdateFromGData) {
EXPECT_EQ(VarContactsToString(
3, contact1.get(), contact2.get(), contact3.get()),
ContactsToString(db_->contacts()));
+ EXPECT_EQ(3, db_->num_saved_contacts());
EXPECT_TRUE(test_api_->update_scheduled());
}
@@ -195,21 +196,23 @@ TEST_F(GoogleContactStoreTest, FetchUpdatedContacts) {
scoped_ptr<Contact> contact3(new Contact);
InitContact("provider3", "3", false, contact3.get());
+ ContactPointers kAllContacts;
+ kAllContacts.push_back(contact1.get());
+ kAllContacts.push_back(contact2.get());
+ kAllContacts.push_back(contact3.get());
+
// Tell the GData service to return all three contacts in response to a full
// update.
- ContactPointers gdata_contacts;
- gdata_contacts.push_back(contact1.get());
- gdata_contacts.push_back(contact2.get());
- gdata_contacts.push_back(contact3.get());
+ ContactPointers gdata_contacts(kAllContacts);
gdata_service_->SetContacts(gdata_contacts, base::Time());
+ // All the contacts should be loaded and saved to the database.
store_->Init();
ContactPointers loaded_contacts;
store_->AppendContacts(&loaded_contacts);
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(loaded_contacts));
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(db_->contacts()));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(loaded_contacts));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(db_->contacts()));
+ EXPECT_EQ(static_cast<int>(kAllContacts.size()), db_->num_saved_contacts());
EXPECT_TRUE(test_api_->update_scheduled());
EXPECT_EQ(1, observer_.num_updates());
observer_.reset_stats();
@@ -221,19 +224,21 @@ TEST_F(GoogleContactStoreTest, FetchUpdatedContacts) {
contact3->set_update_time(
(old_contact3_update_time +
base::TimeDelta::FromSeconds(10)).ToInternalValue());
+ gdata_contacts.clear();
+ gdata_contacts.push_back(contact3.get());
gdata_service_->SetContacts(
gdata_contacts,
old_contact3_update_time + base::TimeDelta::FromMilliseconds(1));
// Check that the updated contact is loaded (i.e. the store passed the
- // correct minimum update time to the service).
+ // correct minimum update time to the service) and saved back to the database.
+ db_->reset_stats();
test_api_->DoUpdate();
loaded_contacts.clear();
store_->AppendContacts(&loaded_contacts);
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(loaded_contacts));
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(db_->contacts()));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(loaded_contacts));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(db_->contacts()));
+ EXPECT_EQ(1, db_->num_saved_contacts());
EXPECT_TRUE(test_api_->update_scheduled());
EXPECT_EQ(1, observer_.num_updates());
observer_.reset_stats();
@@ -244,13 +249,14 @@ TEST_F(GoogleContactStoreTest, FetchUpdatedContacts) {
gdata_contacts,
base::Time::FromInternalValue(contact3->update_time()) +
base::TimeDelta::FromMilliseconds(1));
+
+ db_->reset_stats();
test_api_->DoUpdate();
loaded_contacts.clear();
store_->AppendContacts(&loaded_contacts);
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(loaded_contacts));
- EXPECT_EQ(ContactsToString(gdata_contacts),
- ContactsToString(db_->contacts()));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(loaded_contacts));
+ EXPECT_EQ(ContactsToString(kAllContacts), ContactsToString(db_->contacts()));
+ EXPECT_EQ(1, db_->num_saved_contacts());
EXPECT_TRUE(test_api_->update_scheduled());
EXPECT_EQ(1, observer_.num_updates());
}

Powered by Google App Engine
This is Rietveld 408576698