Index: webkit/fileapi/file_system_directory_database_unittest.cc |
diff --git a/webkit/fileapi/file_system_directory_database_unittest.cc b/webkit/fileapi/file_system_directory_database_unittest.cc |
index 69eef26d34c14c5ee606d44378fef5b4bd6623ce..cfce4e99ebba15e45843711f3a98b59dea54f4db 100644 |
--- a/webkit/fileapi/file_system_directory_database_unittest.cc |
+++ b/webkit/fileapi/file_system_directory_database_unittest.cc |
@@ -650,4 +650,27 @@ TEST_F(FileSystemDirectoryDatabaseTest, TestRepairDatabase_Failure) { |
EXPECT_TRUE(db()->IsFileSystemConsistent()); |
} |
+TEST_F(FileSystemDirectoryDatabaseTest, TestRepairDatabase_MissingManifest) { |
+ base::FilePath::StringType kFileName = FPL("bar"); |
+ |
+ FileId file_id_prev; |
+ CreateFile(0, FPL("foo"), FPL("hoge"), NULL); |
+ CreateFile(0, kFileName, FPL("fuga"), &file_id_prev); |
+ |
+ const base::FilePath kDatabaseDirectory = |
+ path().Append(kDirectoryDatabaseName); |
+ CloseDatabase(); |
+ |
+ DeleteDatabaseFile(kDatabaseDirectory, leveldb::kDescriptorFile); |
+ |
+ InitDatabase(); |
+ EXPECT_FALSE(db()->IsFileSystemConsistent()); |
+ |
+ FileId file_id; |
+ EXPECT_TRUE(db()->GetChildWithName(0, kFileName, &file_id)); |
+ EXPECT_EQ(file_id_prev, file_id); |
+ |
+ EXPECT_TRUE(db()->IsFileSystemConsistent()); |
+} |
+ |
} // namespace fileapi |