| Index: net/disk_cache/entry_unittest.cc
|
| diff --git a/net/disk_cache/entry_unittest.cc b/net/disk_cache/entry_unittest.cc
|
| index a26ecaaa9bedd4d67b8270596d19b3c604180772..5d4f5fb70eecc40d65b2e92281bb6e4649a10f42 100644
|
| --- a/net/disk_cache/entry_unittest.cc
|
| +++ b/net/disk_cache/entry_unittest.cc
|
| @@ -3206,6 +3206,38 @@ TEST_F(DiskCacheEntryTest, SimpleCacheDoomCreateDoom) {
|
| // This test passes if it doesn't crash.
|
| }
|
|
|
| +TEST_F(DiskCacheEntryTest, SimpleCacheDoomCloseCreateCloseOpen) {
|
| + // Test sequence: Create, Doom, Close, Create, Close, Open.
|
| + SetSimpleCacheMode();
|
| + InitCache();
|
| +
|
| + disk_cache::Entry* null = NULL;
|
| +
|
| + const char key[] = "this is a key";
|
| +
|
| + disk_cache::Entry* entry1 = NULL;
|
| + ASSERT_EQ(net::OK, CreateEntry(key, &entry1));
|
| + ScopedEntryPtr entry1_closer(entry1);
|
| + EXPECT_NE(null, entry1);
|
| +
|
| + entry1->Doom();
|
| + entry1_closer.reset();
|
| + entry1 = NULL;
|
| +
|
| + disk_cache::Entry* entry2 = NULL;
|
| + ASSERT_EQ(net::OK, CreateEntry(key, &entry2));
|
| + ScopedEntryPtr entry2_closer(entry2);
|
| + EXPECT_NE(null, entry2);
|
| +
|
| + entry2_closer.reset();
|
| + entry2 = NULL;
|
| +
|
| + disk_cache::Entry* entry3 = NULL;
|
| + ASSERT_EQ(net::OK, OpenEntry(key, &entry3));
|
| + ScopedEntryPtr entry3_closer(entry3);
|
| + EXPECT_NE(null, entry3);
|
| +}
|
| +
|
| // Checks that an optimistic Create would fail later on a racing Open.
|
| TEST_F(DiskCacheEntryTest, SimpleCacheOptimisticCreateFailsOnOpen) {
|
| SetSimpleCacheMode();
|
|
|