diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-23 01:36:31 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-23 01:36:31 +0000 |
commit | 5acb2cb8eed3ef2f6c244e13e2a0e39e607ab63f (patch) | |
tree | 609ed7d87013488724369da8c29f5a794d94e7e9 /net/disk_cache/backend_unittest.cc | |
parent | 147479d5e94f4c091b62c69a76bdfe6b6e15f39a (diff) | |
download | chromium_src-5acb2cb8eed3ef2f6c244e13e2a0e39e607ab63f.zip chromium_src-5acb2cb8eed3ef2f6c244e13e2a0e39e607ab63f.tar.gz chromium_src-5acb2cb8eed3ef2f6c244e13e2a0e39e607ab63f.tar.bz2 |
Disk cache: Make sure we don't overwrite external files when creating new ones.
TEST=unit test
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1270 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache/backend_unittest.cc')
-rw-r--r-- | net/disk_cache/backend_unittest.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/net/disk_cache/backend_unittest.cc b/net/disk_cache/backend_unittest.cc index cbdc450..661e52f 100644 --- a/net/disk_cache/backend_unittest.cc +++ b/net/disk_cache/backend_unittest.cc @@ -223,6 +223,29 @@ TEST_F(DiskCacheBackendTest, MemoryOnlyKeying) { BackendKeying(); } +TEST_F(DiskCacheBackendTest, ExternalFiles) { + InitCache(); + // First, lets create a file on the folder. + std::wstring filename = GetCachePath(); + file_util::AppendToPath(&filename, L"f_000001"); + + const int kDataSize = 50; + char data[kDataSize]; + CacheTestFillBuffer(data, kDataSize, false); + ASSERT_EQ(kDataSize, file_util::WriteFile(filename, data, kDataSize)); + + // Now let's create a file with the cache. + disk_cache::Entry* entry; + ASSERT_TRUE(cache_->CreateEntry("key", &entry)); + ASSERT_EQ(0, entry->WriteData(0, 20000, data, 0, NULL, false)); + entry->Close(); + + // And verify that the first file is still there. + char buffer[kDataSize]; + ASSERT_EQ(kDataSize, file_util::ReadFile(filename, buffer, kDataSize)); + EXPECT_EQ(0, memcmp(data, buffer, kDataSize)); +} + void DiskCacheBackendTest::BackendSetSize() { SetDirectMode(); const int cache_size = 0x10000; // 64 kB |