| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/sync/syncable/syncable.h" | 5 #include "chrome/browser/sync/syncable/syncable.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 | 8 |
| 9 #include <sys/types.h> | 9 #include <sys/types.h> |
| 10 | 10 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 WriteTransaction trans(FROM_HERE, UNITTEST, &dir); | 200 WriteTransaction trans(FROM_HERE, UNITTEST, &dir); |
| 201 MutableEntry e(&trans, GET_BY_HANDLE, written_metahandle); | 201 MutableEntry e(&trans, GET_BY_HANDLE, written_metahandle); |
| 202 e.Put(IS_DEL, true); | 202 e.Put(IS_DEL, true); |
| 203 | 203 |
| 204 EXPECT_EQ(0, CountEntriesWithName(&trans, trans.root_id(), name)); | 204 EXPECT_EQ(0, CountEntriesWithName(&trans, trans.root_id(), name)); |
| 205 } | 205 } |
| 206 | 206 |
| 207 dir.SaveChanges(); | 207 dir.SaveChanges(); |
| 208 } | 208 } |
| 209 | 209 |
| 210 TEST_F(SyncableGeneralTest, ChildrenOps) { |
| 211 Directory dir; |
| 212 dir.Open(db_path_, "SimpleTest", &delegate_); |
| 213 |
| 214 int64 root_metahandle; |
| 215 { |
| 216 ReadTransaction rtrans(FROM_HERE, &dir); |
| 217 Entry e(&rtrans, GET_BY_ID, rtrans.root_id()); |
| 218 ASSERT_TRUE(e.good()); |
| 219 root_metahandle = e.Get(META_HANDLE); |
| 220 } |
| 221 |
| 222 int64 written_metahandle; |
| 223 const Id id = TestIdFactory::FromNumber(99); |
| 224 std::string name = "Jeff"; |
| 225 { |
| 226 ReadTransaction rtrans(FROM_HERE, &dir); |
| 227 Entry e(&rtrans, GET_BY_ID, id); |
| 228 ASSERT_FALSE(e.good()); // Hasn't been written yet. |
| 229 |
| 230 EXPECT_FALSE(dir.HasChildren(&rtrans, rtrans.root_id())); |
| 231 EXPECT_TRUE(dir.GetFirstChildId(&rtrans, rtrans.root_id()).IsRoot()); |
| 232 } |
| 233 |
| 234 { |
| 235 WriteTransaction wtrans(FROM_HERE, UNITTEST, &dir); |
| 236 MutableEntry me(&wtrans, CREATE, wtrans.root_id(), name); |
| 237 ASSERT_TRUE(me.good()); |
| 238 me.Put(ID, id); |
| 239 me.Put(BASE_VERSION, 1); |
| 240 written_metahandle = me.Get(META_HANDLE); |
| 241 } |
| 242 |
| 243 // Test children ops after something is now in the DB. |
| 244 { |
| 245 ReadTransaction rtrans(FROM_HERE, &dir); |
| 246 Entry e(&rtrans, GET_BY_ID, id); |
| 247 ASSERT_TRUE(e.good()); |
| 248 |
| 249 Entry child(&rtrans, GET_BY_HANDLE, written_metahandle); |
| 250 ASSERT_TRUE(child.good()); |
| 251 |
| 252 EXPECT_TRUE(dir.HasChildren(&rtrans, rtrans.root_id())); |
| 253 EXPECT_EQ(e.Get(ID), dir.GetFirstChildId(&rtrans, rtrans.root_id())); |
| 254 } |
| 255 |
| 256 { |
| 257 WriteTransaction wtrans(FROM_HERE, UNITTEST, &dir); |
| 258 MutableEntry me(&wtrans, GET_BY_HANDLE, written_metahandle); |
| 259 ASSERT_TRUE(me.good()); |
| 260 me.Put(IS_DEL, true); |
| 261 } |
| 262 |
| 263 // Test children ops after the children have been deleted. |
| 264 { |
| 265 ReadTransaction rtrans(FROM_HERE, &dir); |
| 266 Entry e(&rtrans, GET_BY_ID, id); |
| 267 ASSERT_TRUE(e.good()); |
| 268 |
| 269 EXPECT_FALSE(dir.HasChildren(&rtrans, rtrans.root_id())); |
| 270 EXPECT_TRUE(dir.GetFirstChildId(&rtrans, rtrans.root_id()).IsRoot()); |
| 271 } |
| 272 |
| 273 dir.SaveChanges(); |
| 274 } |
| 275 |
| 210 TEST_F(SyncableGeneralTest, ClientIndexRebuildsProperly) { | 276 TEST_F(SyncableGeneralTest, ClientIndexRebuildsProperly) { |
| 211 int64 written_metahandle; | 277 int64 written_metahandle; |
| 212 TestIdFactory factory; | 278 TestIdFactory factory; |
| 213 const Id id = factory.NewServerId(); | 279 const Id id = factory.NewServerId(); |
| 214 std::string name = "cheesepuffs"; | 280 std::string name = "cheesepuffs"; |
| 215 std::string tag = "dietcoke"; | 281 std::string tag = "dietcoke"; |
| 216 | 282 |
| 217 // Test creating a new meta entry. | 283 // Test creating a new meta entry. |
| 218 { | 284 { |
| 219 Directory dir; | 285 Directory dir; |
| (...skipping 1595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1815 TEST_F(SyncableClientTagTest, TestClientTagIndexDuplicateServer) { | 1881 TEST_F(SyncableClientTagTest, TestClientTagIndexDuplicateServer) { |
| 1816 EXPECT_TRUE(CreateWithDefaultTag(factory_.NewServerId(), true)); | 1882 EXPECT_TRUE(CreateWithDefaultTag(factory_.NewServerId(), true)); |
| 1817 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewServerId(), true)); | 1883 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewServerId(), true)); |
| 1818 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewServerId(), false)); | 1884 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewServerId(), false)); |
| 1819 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewLocalId(), false)); | 1885 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewLocalId(), false)); |
| 1820 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewLocalId(), true)); | 1886 EXPECT_FALSE(CreateWithDefaultTag(factory_.NewLocalId(), true)); |
| 1821 } | 1887 } |
| 1822 | 1888 |
| 1823 } // namespace | 1889 } // namespace |
| 1824 } // namespace syncable | 1890 } // namespace syncable |
| OLD | NEW |