Chromium Code Reviews| Index: chrome/browser/sync/syncable/syncable_unittest.cc |
| diff --git a/chrome/browser/sync/syncable/syncable_unittest.cc b/chrome/browser/sync/syncable/syncable_unittest.cc |
| index c0ce9bd1fce1f664647b3968825c9182ec81cf93..79181d416865afc74fb338348ea26be1b119d900 100644 |
| --- a/chrome/browser/sync/syncable/syncable_unittest.cc |
| +++ b/chrome/browser/sync/syncable/syncable_unittest.cc |
| @@ -207,6 +207,55 @@ TEST_F(SyncableGeneralTest, General) { |
| dir.SaveChanges(); |
| } |
| +TEST_F(SyncableGeneralTest, ChildrenOps) { |
| + Directory dir; |
| + dir.Open(db_path_, "SimpleTest", &delegate_); |
| + |
| + int64 root_metahandle; |
| + { |
| + ReadTransaction rtrans(FROM_HERE, &dir); |
| + Entry e(&rtrans, GET_BY_ID, rtrans.root_id()); |
| + ASSERT_TRUE(e.good()); |
| + root_metahandle = e.Get(META_HANDLE); |
| + } |
| + |
| + int64 written_metahandle; |
| + const Id id = TestIdFactory::FromNumber(99); |
| + std::string name = "Jeff"; |
| + { |
| + ReadTransaction rtrans(FROM_HERE, &dir); |
| + Entry e(&rtrans, GET_BY_ID, id); |
| + ASSERT_FALSE(e.good()); // Hasn't been written yet. |
| + |
| + EXPECT_FALSE(dir.HasChildren(&rtrans, rtrans.root_id())); |
| + EXPECT_TRUE(dir.GetFirstChildId(&rtrans, rtrans.root_id()).IsRoot()); |
| + } |
| + |
| + { |
| + WriteTransaction wtrans(FROM_HERE, UNITTEST, &dir); |
| + MutableEntry me(&wtrans, CREATE, wtrans.root_id(), name); |
| + ASSERT_TRUE(me.good()); |
| + me.Put(ID, id); |
| + me.Put(BASE_VERSION, 1); |
| + written_metahandle = me.Get(META_HANDLE); |
| + } |
| + |
| + // Test children ops after something is now in the DB. |
| + { |
| + ReadTransaction rtrans(FROM_HERE, &dir); |
| + Entry e(&rtrans, GET_BY_ID, id); |
| + ASSERT_TRUE(e.good()); |
| + |
| + Entry child(&rtrans, GET_BY_HANDLE, written_metahandle); |
| + ASSERT_TRUE(child.good()); |
| + |
| + EXPECT_TRUE(dir.HasChildren(&rtrans, rtrans.root_id())); |
| + EXPECT_EQ(e.Get(ID), dir.GetFirstChildId(&rtrans, rtrans.root_id())); |
| + } |
|
Nicolas Zea
2011/10/26 22:21:35
may as well add another case with id 97 has PREV_I
akalin
2011/10/27 00:19:21
Done.
|
| + |
| + dir.SaveChanges(); |
| +} |
| + |
| TEST_F(SyncableGeneralTest, ClientIndexRebuildsProperly) { |
| int64 written_metahandle; |
| TestIdFactory factory; |