| Index: webkit/fileapi/file_system_origin_database_unittest.cc
|
| diff --git a/webkit/fileapi/file_system_origin_database_unittest.cc b/webkit/fileapi/file_system_origin_database_unittest.cc
|
| index 294560d8430775fee3c8e9ddcf6887782137f5ee..926e480fa3123acc733dc52672a5619f7a9abd73 100644
|
| --- a/webkit/fileapi/file_system_origin_database_unittest.cc
|
| +++ b/webkit/fileapi/file_system_origin_database_unittest.cc
|
| @@ -258,4 +258,39 @@ TEST(FileSystemOriginDatabaseTest, DatabaseRecoveryTest) {
|
| EXPECT_FALSE(file_util::PathExists(kGarbageDir));
|
| }
|
|
|
| +TEST(FileSystemOriginDatabaseTest, DatabaseRecoveryForMissingManifestTest) {
|
| + base::ScopedTempDir dir;
|
| + ASSERT_TRUE(dir.CreateUniqueTempDir());
|
| + const base::FilePath kFSDir = dir.path().Append(kFileSystemDirName);
|
| + const base::FilePath kDBDir = kFSDir.Append(kOriginDatabaseName);
|
| + EXPECT_FALSE(file_util::PathExists(kFSDir));
|
| + EXPECT_TRUE(file_util::CreateDirectory(kFSDir));
|
| +
|
| + const std::string kOrigin = "foo.example.com";
|
| + base::FilePath path;
|
| +
|
| + scoped_ptr<FileSystemOriginDatabase> database(
|
| + new FileSystemOriginDatabase(kFSDir));
|
| + EXPECT_FALSE(database->HasOriginPath(kOrigin));
|
| + EXPECT_TRUE(database->GetPathForOrigin(kOrigin, &path));
|
| + EXPECT_FALSE(path.empty());
|
| + EXPECT_TRUE(database->GetPathForOrigin(kOrigin, &path));
|
| + EXPECT_TRUE(file_util::CreateDirectory(kFSDir.Append(path)));
|
| + database.reset();
|
| +
|
| + DeleteDatabaseFile(kDBDir, leveldb::kDescriptorFile);
|
| +
|
| + database.reset(new FileSystemOriginDatabase(kFSDir));
|
| + std::vector<FileSystemOriginDatabase::OriginRecord> origins_in_db;
|
| + EXPECT_TRUE(database->ListAllOrigins(&origins_in_db));
|
| +
|
| + EXPECT_EQ(1u, origins_in_db.size());
|
| +
|
| + const std::string kOrigin2("piyo.example.org");
|
| + EXPECT_FALSE(database->HasOriginPath(kOrigin2));
|
| + EXPECT_TRUE(database->GetPathForOrigin(kOrigin2, &path));
|
| + EXPECT_FALSE(path.empty());
|
| + EXPECT_TRUE(database->HasOriginPath(kOrigin2));
|
| +}
|
| +
|
| } // namespace fileapi
|
|
|