OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "webkit/fileapi/file_system_directory_database.h" | 5 #include "webkit/fileapi/file_system_directory_database.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 CorruptDatabase(kDatabaseDirectory, leveldb::kLogFile, | 643 CorruptDatabase(kDatabaseDirectory, leveldb::kLogFile, |
644 -1, 1); | 644 -1, 1); |
645 InitDatabase(); | 645 InitDatabase(); |
646 EXPECT_FALSE(db()->IsFileSystemConsistent()); | 646 EXPECT_FALSE(db()->IsFileSystemConsistent()); |
647 | 647 |
648 FileId file_id; | 648 FileId file_id; |
649 EXPECT_FALSE(db()->GetChildWithName(0, kFileName, &file_id)); | 649 EXPECT_FALSE(db()->GetChildWithName(0, kFileName, &file_id)); |
650 EXPECT_TRUE(db()->IsFileSystemConsistent()); | 650 EXPECT_TRUE(db()->IsFileSystemConsistent()); |
651 } | 651 } |
652 | 652 |
| 653 TEST_F(FileSystemDirectoryDatabaseTest, TestRepairDatabase_MissingManifest) { |
| 654 base::FilePath::StringType kFileName = FPL("bar"); |
| 655 |
| 656 FileId file_id_prev; |
| 657 CreateFile(0, FPL("foo"), FPL("hoge"), NULL); |
| 658 CreateFile(0, kFileName, FPL("fuga"), &file_id_prev); |
| 659 |
| 660 const base::FilePath kDatabaseDirectory = |
| 661 path().Append(kDirectoryDatabaseName); |
| 662 CloseDatabase(); |
| 663 |
| 664 DeleteDatabaseFile(kDatabaseDirectory, leveldb::kDescriptorFile); |
| 665 |
| 666 InitDatabase(); |
| 667 EXPECT_FALSE(db()->IsFileSystemConsistent()); |
| 668 |
| 669 FileId file_id; |
| 670 EXPECT_TRUE(db()->GetChildWithName(0, kFileName, &file_id)); |
| 671 EXPECT_EQ(file_id_prev, file_id); |
| 672 |
| 673 EXPECT_TRUE(db()->IsFileSystemConsistent()); |
| 674 } |
| 675 |
653 } // namespace fileapi | 676 } // namespace fileapi |
OLD | NEW |