| Index: webkit/browser/appcache/appcache_database_unittest.cc
|
| diff --git a/webkit/browser/appcache/appcache_database_unittest.cc b/webkit/browser/appcache/appcache_database_unittest.cc
|
| index b5f4e40152a9166e9a75c2785caac293f42aa71c..50248bc71679f9f7b12bd6956ff792658874954b 100644
|
| --- a/webkit/browser/appcache/appcache_database_unittest.cc
|
| +++ b/webkit/browser/appcache/appcache_database_unittest.cc
|
| @@ -109,11 +109,38 @@ TEST(AppCacheDatabaseTest, QuickIntegrityCheck) {
|
| EXPECT_TRUE(db.LazyOpen(true));
|
| EXPECT_FALSE(base::PathExists(kOtherFile));
|
| EXPECT_TRUE(base::PathExists(kDbFile));
|
| - ASSERT_TRUE(ignore_errors.CheckIgnoredErrors());
|
| + EXPECT_TRUE(ignore_errors.CheckIgnoredErrors());
|
| }
|
| }
|
| #endif // NDEBUG
|
|
|
| +TEST(AppCacheDatabaseTest, WasCorrutionDetected) {
|
| + // Real files on disk for this test too, a corrupt database file.
|
| + base::ScopedTempDir temp_dir;
|
| + ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
| + const base::FilePath kDbFile = temp_dir.path().AppendASCII("appcache.db");
|
| +
|
| + // First create a valid db file.
|
| + AppCacheDatabase db(kDbFile);
|
| + EXPECT_TRUE(db.LazyOpen(true));
|
| + EXPECT_TRUE(base::PathExists(kDbFile));
|
| + EXPECT_FALSE(db.was_corruption_dectected());
|
| +
|
| + // Break it.
|
| + ASSERT_TRUE(sql::test::CorruptSizeInHeader(kDbFile));
|
| +
|
| + // See the the corruption is detected and reported.
|
| + {
|
| + sql::ScopedErrorIgnorer ignore_errors;
|
| + ignore_errors.IgnoreError(SQLITE_CORRUPT);
|
| + std::map<GURL, int64> usage_map;
|
| + EXPECT_FALSE(db.GetAllOriginUsage(&usage_map));
|
| + EXPECT_TRUE(db.was_corruption_dectected());
|
| + EXPECT_TRUE(base::PathExists(kDbFile));
|
| + EXPECT_TRUE(ignore_errors.CheckIgnoredErrors());
|
| + }
|
| +}
|
| +
|
| TEST(AppCacheDatabaseTest, ExperimentalFlags) {
|
| const char kExperimentFlagsKey[] = "ExperimentFlags";
|
| std::string kInjectedFlags("exp1,exp2");
|
|
|