Index: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc |
index 78d4ac2d9c83151ccd57a03a1d143cad324639b6..70c0968d51919e4aeee520b1f4568db309f9f479 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc |
@@ -187,7 +187,7 @@ TEST_F(MetadataDatabaseIndexOnDiskTest, IndexAppRootIDByAppIDTest) { |
CreateTestDatabase(true); |
std::vector<std::string> app_ids = index()->GetRegisteredAppIDs(); |
- ASSERT_EQ(1u, app_ids.size()); |
+ ASSERT_EQ(1U, app_ids.size()); |
EXPECT_EQ("app_id", app_ids[0]); |
EXPECT_EQ(kInvalidTrackerID, index()->GetAppRootTracker("")); |
@@ -247,5 +247,62 @@ TEST_F(MetadataDatabaseIndexOnDiskTest, IndexAppRootIDByAppIDTest) { |
EXPECT_EQ(kInvalidTrackerID, index()->GetAppRootTracker("app_id_3")); |
} |
+TEST_F(MetadataDatabaseIndexOnDiskTest, DirtyTrackersTest) { |
+ CreateTestDatabase(true); |
+ |
+ scoped_ptr<leveldb::WriteBatch> batch; |
+ // Testing public methods |
+ EXPECT_EQ(1U, index()->CountDirtyTracker()); |
+ EXPECT_FALSE(index()->HasDemotedDirtyTracker()); |
+ EXPECT_EQ(kPlaceholderTrackerID, index()->PickDirtyTracker()); |
+ batch.reset(new leveldb::WriteBatch); |
+ index()->DemoteDirtyTracker(kPlaceholderTrackerID, batch.get()); |
+ WriteToDB(batch.Pass()); |
+ EXPECT_TRUE(index()->HasDemotedDirtyTracker()); |
+ EXPECT_EQ(1U, index()->CountDirtyTracker()); |
+ |
+ const int64 tracker_id = 13; |
+ scoped_ptr<FileTracker> app_root_tracker(new FileTracker); |
+ index()->GetFileTracker(kAppRootTrackerID, app_root_tracker.get()); |
+ |
+ // Testing AddDirtyTrackerIndexes |
+ scoped_ptr<FileTracker> tracker = |
+ test_util::CreatePlaceholderTracker("placeholder", |
+ tracker_id, |
+ app_root_tracker.get()); |
+ batch.reset(new leveldb::WriteBatch); |
+ index()->StoreFileTracker(tracker.Pass(), batch.get()); |
+ WriteToDB(batch.Pass()); |
+ EXPECT_EQ(2U, index()->CountDirtyTracker()); |
+ EXPECT_EQ(tracker_id, index()->PickDirtyTracker()); |
+ |
+ // Testing UpdateDirtyTrackerIndexes |
+ tracker = test_util::CreatePlaceholderTracker("placeholder", |
+ tracker_id, |
+ app_root_tracker.get()); |
+ tracker->set_dirty(false); |
+ batch.reset(new leveldb::WriteBatch); |
+ index()->StoreFileTracker(tracker.Pass(), batch.get()); |
+ WriteToDB(batch.Pass()); |
+ EXPECT_EQ(1U, index()->CountDirtyTracker()); |
+ EXPECT_EQ(kInvalidTrackerID, index()->PickDirtyTracker()); |
+ |
+ tracker = test_util::CreatePlaceholderTracker("placeholder", |
+ tracker_id, |
+ app_root_tracker.get()); |
+ batch.reset(new leveldb::WriteBatch); |
+ index()->StoreFileTracker(tracker.Pass(), batch.get()); |
+ WriteToDB(batch.Pass()); |
+ EXPECT_EQ(2U, index()->CountDirtyTracker()); |
+ EXPECT_EQ(tracker_id, index()->PickDirtyTracker()); |
+ |
+ // Testing RemoveFromDirtyTrackerIndexes |
+ batch.reset(new leveldb::WriteBatch); |
+ index()->RemoveFileTracker(tracker_id, batch.get()); |
+ WriteToDB(batch.Pass()); |
+ EXPECT_EQ(1U, index()->CountDirtyTracker()); |
+ EXPECT_EQ(kInvalidTrackerID, index()->PickDirtyTracker()); |
+} |
+ |
} // namespace drive_backend |
} // namespace sync_file_system |