Chromium Code Reviews| Index: chrome/browser/sync/engine/syncapi_unittest.cc |
| diff --git a/chrome/browser/sync/engine/syncapi_unittest.cc b/chrome/browser/sync/engine/syncapi_unittest.cc |
| index e6c6f2714be116c9f1c2a067f8098906be70db8d..15cc9d0b598273cb1c31bd56098c74564ca214e5 100755 |
| --- a/chrome/browser/sync/engine/syncapi_unittest.cc |
| +++ b/chrome/browser/sync/engine/syncapi_unittest.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/scoped_ptr.h" |
| #include "base/scoped_temp_dir.h" |
| +#include "base/string_util.h" |
| #include "chrome/browser/sync/engine/syncapi.h" |
| #include "chrome/browser/sync/syncable/directory_manager.h" |
| #include "chrome/browser/sync/syncable/syncable.h" |
| @@ -68,7 +69,8 @@ TEST_F(SyncApiTest, BasicTagWrite) { |
| { |
| ReadTransaction trans(&share_); |
| ReadNode node(&trans); |
| - EXPECT_TRUE(node.InitByClientTagLookup("testtag")); |
| + EXPECT_TRUE(node.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| ReadNode root_node(&trans); |
| root_node.InitByRootLookup(); |
| @@ -77,16 +79,84 @@ TEST_F(SyncApiTest, BasicTagWrite) { |
| } |
| } |
| +namespace { |
| + std::string HashToHex(const std::string& hash) { |
|
ncarter (slow)
2010/02/18 01:05:40
De-indent.
chron
2010/02/18 01:09:32
Done.
|
| + return HexEncode(hash.data(), hash.length()); |
| + } |
| +} // namespace |
| + |
| +TEST_F(SyncApiTest, GenerateSyncableHash) { |
| + EXPECT_EQ("3B2697579984CEB3D2E306E8826B4ABD17DE9002", |
| + HashToHex(BaseNode::GenerateSyncableHash(syncable::BOOKMARKS, "tag1"))); |
| + EXPECT_EQ("88D150B511506FE219727D642942446430E42ECE", |
| + HashToHex( |
| + BaseNode::GenerateSyncableHash(syncable::PREFERENCES, "tag1"))); |
| + EXPECT_EQ("80ED5C3D941768CEF7B073AF480FAD282285B39F", |
| + HashToHex(BaseNode::GenerateSyncableHash(syncable::AUTOFILL, "tag1"))); |
| + EXPECT_EQ("0347982075CCD7F8D5C0A0C3A75D94A76D0890A6", |
| + HashToHex(BaseNode::GenerateSyncableHash(syncable::BOOKMARKS, "tag2"))); |
| + EXPECT_EQ("5D8C6417B6E14B8788B52B45822388014DB7B302", |
| + HashToHex( |
| + BaseNode::GenerateSyncableHash(syncable::PREFERENCES, "tag2"))); |
| + EXPECT_EQ("185896CE8E4D1A18CB94DF8EC827E1CB6F032534", |
| + HashToHex(BaseNode::GenerateSyncableHash(syncable::AUTOFILL, "tag2"))); |
| +} |
| + |
| +TEST_F(SyncApiTest, ModelTypesSiloed) { |
| + { |
| + WriteTransaction trans(&share_); |
| + ReadNode root_node(&trans); |
| + root_node.InitByRootLookup(); |
| + EXPECT_EQ(root_node.GetFirstChildId(), 0); |
| + |
| + WriteNode bookmarknode(&trans); |
| + EXPECT_TRUE(bookmarknode.InitUniqueByCreation(syncable::BOOKMARKS, |
| + root_node, "collideme")); |
| + bookmarknode.SetIsFolder(false); |
| + |
| + WriteNode prefnode(&trans); |
| + EXPECT_TRUE(prefnode.InitUniqueByCreation(syncable::PREFERENCES, |
| + root_node, "collideme")); |
| + prefnode.SetIsFolder(false); |
| + |
| + WriteNode autofillnode(&trans); |
| + EXPECT_TRUE(autofillnode.InitUniqueByCreation(syncable::AUTOFILL, |
| + root_node, "collideme")); |
| + autofillnode.SetIsFolder(false); |
| + } |
| + { |
| + ReadTransaction trans(&share_); |
| + |
| + ReadNode bookmarknode(&trans); |
| + EXPECT_TRUE(bookmarknode.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "collideme")); |
| + |
| + ReadNode prefnode(&trans); |
| + EXPECT_TRUE(prefnode.InitByClientTagLookup(syncable::PREFERENCES, |
| + "collideme")); |
| + |
| + ReadNode autofillnode(&trans); |
| + EXPECT_TRUE(autofillnode.InitByClientTagLookup(syncable::AUTOFILL, |
| + "collideme")); |
| + |
| + EXPECT_NE(bookmarknode.GetId(), prefnode.GetId()); |
| + EXPECT_NE(autofillnode.GetId(), prefnode.GetId()); |
| + EXPECT_NE(bookmarknode.GetId(), autofillnode.GetId()); |
| + } |
| +} |
| + |
| TEST_F(SyncApiTest, ReadMissingTagsFails) { |
| { |
| ReadTransaction trans(&share_); |
| ReadNode node(&trans); |
| - EXPECT_FALSE(node.InitByClientTagLookup("testtag")); |
| + EXPECT_FALSE(node.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| } |
| { |
| WriteTransaction trans(&share_); |
| WriteNode node(&trans); |
| - EXPECT_FALSE(node.InitByClientTagLookup("testtag")); |
| + EXPECT_FALSE(node.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| } |
| } |
| @@ -122,7 +192,8 @@ TEST_F(SyncApiTest, TestDeleteBehavior) { |
| { |
| WriteTransaction trans(&share_); |
| WriteNode wnode(&trans); |
| - EXPECT_TRUE(wnode.InitByClientTagLookup("testtag")); |
| + EXPECT_TRUE(wnode.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| EXPECT_FALSE(wnode.GetIsFolder()); |
| EXPECT_EQ(wnode.GetTitle(), test_title); |
| @@ -134,7 +205,8 @@ TEST_F(SyncApiTest, TestDeleteBehavior) { |
| { |
| ReadTransaction trans(&share_); |
| ReadNode node(&trans); |
| - EXPECT_FALSE(node.InitByClientTagLookup("testtag")); |
| + EXPECT_FALSE(node.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| // Note that for proper function of this API this doesn't need to be |
| // filled, we're checking just to make sure the DB worked in this test. |
| EXPECT_EQ(node.GetTitle(), test_title); |
| @@ -160,7 +232,8 @@ TEST_F(SyncApiTest, TestDeleteBehavior) { |
| { |
| ReadTransaction trans(&share_); |
| ReadNode node(&trans); |
| - EXPECT_TRUE(node.InitByClientTagLookup("testtag")); |
| + EXPECT_TRUE(node.InitByClientTagLookup(syncable::BOOKMARKS, |
| + "testtag")); |
| EXPECT_EQ(node.GetTitle(), test_title); |
| EXPECT_EQ(node.GetModelType(), syncable::BOOKMARKS); |
| } |