| 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 43bb5a9de82f3ebd6643232a609ec0d1b2bcf9ff..809a47cbf9fc2380bb810c949105c1a72de4e316 100644
|
| --- a/chrome/browser/sync/syncable/syncable_unittest.cc
|
| +++ b/chrome/browser/sync/syncable/syncable_unittest.cc
|
| @@ -47,28 +47,27 @@ using std::string;
|
| namespace syncable {
|
|
|
| namespace {
|
| -// A lot of these tests were written expecting to be able to read and write
|
| -// object data on entries. However, the design has changed.
|
| -void PutDataAsExtendedAttribute(WriteTransaction* wtrans,
|
| - MutableEntry* e,
|
| - const char* bytes,
|
| - size_t bytes_length) {
|
| - ExtendedAttributeKey key(e->Get(META_HANDLE), "DATA");
|
| - MutableExtendedAttribute attr(wtrans, CREATE, key);
|
| - Blob bytes_blob(bytes, bytes + bytes_length);
|
| - attr.mutable_value()->swap(bytes_blob);
|
| +void PutDataAsBookmarkFavicon(WriteTransaction* wtrans,
|
| + MutableEntry* e,
|
| + const char* bytes,
|
| + size_t bytes_length) {
|
| + sync_pb::EntitySpecifics specifics;
|
| + specifics.MutableExtension(sync_pb::bookmark)->set_url("http://demo/");
|
| + specifics.MutableExtension(sync_pb::bookmark)->set_favicon(bytes,
|
| + bytes_length);
|
| + e->Put(SPECIFICS, specifics);
|
| }
|
|
|
| -void ExpectDataFromExtendedAttributeEquals(BaseTransaction* trans,
|
| - Entry* e,
|
| - const char* bytes,
|
| - size_t bytes_length) {
|
| +void ExpectDataFromBookmarkFaviconEquals(BaseTransaction* trans,
|
| + Entry* e,
|
| + const char* bytes,
|
| + size_t bytes_length) {
|
| ASSERT_TRUE(e->good());
|
| - Blob expected_value(bytes, bytes + bytes_length);
|
| - ExtendedAttributeKey key(e->Get(META_HANDLE), "DATA");
|
| - ExtendedAttribute attr(trans, GET_BY_HANDLE, key);
|
| - EXPECT_FALSE(attr.is_deleted());
|
| - EXPECT_EQ(expected_value, attr.value());
|
| + ASSERT_TRUE(e->Get(SPECIFICS).HasExtension(sync_pb::bookmark));
|
| + ASSERT_EQ("http://demo/",
|
| + e->Get(SPECIFICS).GetExtension(sync_pb::bookmark).url());
|
| + ASSERT_EQ(std::string(bytes, bytes_length),
|
| + e->Get(SPECIFICS).GetExtension(sync_pb::bookmark).favicon());
|
| }
|
| } // namespace
|
|
|
| @@ -138,7 +137,7 @@ TEST_F(SyncableGeneralTest, General) {
|
| WriteTransaction trans(&dir, UNITTEST, __FILE__, __LINE__);
|
| MutableEntry e(&trans, GET_BY_HANDLE, written_metahandle);
|
| ASSERT_TRUE(e.good());
|
| - PutDataAsExtendedAttribute(&trans, &e, s, sizeof(s));
|
| + PutDataAsBookmarkFavicon(&trans, &e, s, sizeof(s));
|
| }
|
|
|
| // Test reading back the contents that we just wrote.
|
| @@ -146,7 +145,7 @@ TEST_F(SyncableGeneralTest, General) {
|
| WriteTransaction trans(&dir, UNITTEST, __FILE__, __LINE__);
|
| MutableEntry e(&trans, GET_BY_HANDLE, written_metahandle);
|
| ASSERT_TRUE(e.good());
|
| - ExpectDataFromExtendedAttributeEquals(&trans, &e, s, sizeof(s));
|
| + ExpectDataFromBookmarkFaviconEquals(&trans, &e, s, sizeof(s));
|
| }
|
|
|
| // Verify it exists in the folder.
|
| @@ -1410,7 +1409,7 @@ class DirectoryKernelStalenessBugDelegate : public ThreadBugDelegate {
|
| MutableEntry me(&trans, CREATE, trans.root_id(), "Jeff");
|
| me.Put(BASE_VERSION, 1);
|
| me.Put(ID, jeff_id);
|
| - PutDataAsExtendedAttribute(&trans, &me, test_bytes,
|
| + PutDataAsBookmarkFavicon(&trans, &me, test_bytes,
|
| sizeof(test_bytes));
|
| }
|
| {
|
| @@ -1439,7 +1438,7 @@ class DirectoryKernelStalenessBugDelegate : public ThreadBugDelegate {
|
| CHECK(dir.good());
|
| ReadTransaction trans(dir, __FILE__, __LINE__);
|
| Entry e(&trans, GET_BY_ID, jeff_id);
|
| - ExpectDataFromExtendedAttributeEquals(&trans, &e, test_bytes,
|
| + ExpectDataFromBookmarkFaviconEquals(&trans, &e, test_bytes,
|
| sizeof(test_bytes));
|
| }
|
| // Same result as CloseAllDirectories, but more code coverage.
|
| @@ -1577,26 +1576,6 @@ void FakeSync(MutableEntry* e, const char* fake_id) {
|
| e->Put(ID, Id::CreateFromServerId(fake_id));
|
| }
|
|
|
| -TEST_F(SyncableDirectoryTest, Bug1509232) {
|
| - const string a = "alpha";
|
| - const Id entry_id = dir_.get()->NextId();
|
| - CreateEntry(a, entry_id);
|
| - {
|
| - WriteTransaction trans(dir_.get(), UNITTEST, __FILE__, __LINE__);
|
| - MutableEntry e(&trans, GET_BY_ID, entry_id);
|
| - ASSERT_TRUE(e.good());
|
| - ExtendedAttributeKey key(e.Get(META_HANDLE), "resourcefork");
|
| - MutableExtendedAttribute ext(&trans, CREATE, key);
|
| - ASSERT_TRUE(ext.good());
|
| - const char value[] = "stuff";
|
| - Blob value_blob(value, value + arraysize(value));
|
| - ext.mutable_value()->swap(value_blob);
|
| - ext.delete_attribute();
|
| - }
|
| - // This call to SaveChanges used to CHECK fail.
|
| - dir_.get()->SaveChanges();
|
| -}
|
| -
|
| class SyncableClientTagTest : public SyncableDirectoryTest {
|
| public:
|
| static const int kBaseVersion = 1;
|
|
|