OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "base/files/file_path.h" | 5 #include "base/files/file_path.h" |
6 #include "net/disk_cache/storage_block.h" | 6 #include "net/disk_cache/storage_block.h" |
7 #include "net/disk_cache/storage_block-inl.h" | 7 #include "net/disk_cache/storage_block-inl.h" |
8 #include "net/disk_cache/disk_cache_test_base.h" | 8 #include "net/disk_cache/disk_cache_test_base.h" |
9 #include "net/disk_cache/disk_cache_test_util.h" | 9 #include "net/disk_cache/disk_cache_test_util.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
11 | 11 |
12 TEST_F(DiskCacheTest, StorageBlock_LoadStore) { | 12 TEST_F(DiskCacheTest, StorageBlock_LoadStore) { |
13 base::FilePath filename = cache_path_.AppendASCII("a_test"); | 13 base::FilePath filename = cache_path_.AppendASCII("a_test"); |
14 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); | 14 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); |
15 ASSERT_TRUE(CreateCacheTestFile(filename)); | 15 ASSERT_TRUE(CreateCacheTestFile(filename)); |
16 ASSERT_TRUE(file->Init(filename, 8192)); | 16 ASSERT_TRUE(file->Init(filename, 8192)); |
17 | 17 |
18 disk_cache::CacheEntryBlock entry1(file, disk_cache::Addr(0xa0010001)); | 18 disk_cache::CacheEntryBlock entry1(file.get(), disk_cache::Addr(0xa0010001)); |
19 memset(entry1.Data(), 0, sizeof(disk_cache::EntryStore)); | 19 memset(entry1.Data(), 0, sizeof(disk_cache::EntryStore)); |
20 entry1.Data()->hash = 0xaa5555aa; | 20 entry1.Data()->hash = 0xaa5555aa; |
21 entry1.Data()->rankings_node = 0xa0010002; | 21 entry1.Data()->rankings_node = 0xa0010002; |
22 | 22 |
23 EXPECT_TRUE(entry1.Store()); | 23 EXPECT_TRUE(entry1.Store()); |
24 entry1.Data()->hash = 0x88118811; | 24 entry1.Data()->hash = 0x88118811; |
25 entry1.Data()->rankings_node = 0xa0040009; | 25 entry1.Data()->rankings_node = 0xa0040009; |
26 | 26 |
27 EXPECT_TRUE(entry1.Load()); | 27 EXPECT_TRUE(entry1.Load()); |
28 EXPECT_EQ(0xaa5555aa, entry1.Data()->hash); | 28 EXPECT_EQ(0xaa5555aa, entry1.Data()->hash); |
29 EXPECT_EQ(0xa0010002, entry1.Data()->rankings_node); | 29 EXPECT_EQ(0xa0010002, entry1.Data()->rankings_node); |
30 } | 30 } |
31 | 31 |
32 TEST_F(DiskCacheTest, StorageBlock_SetData) { | 32 TEST_F(DiskCacheTest, StorageBlock_SetData) { |
33 base::FilePath filename = cache_path_.AppendASCII("a_test"); | 33 base::FilePath filename = cache_path_.AppendASCII("a_test"); |
34 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); | 34 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); |
35 ASSERT_TRUE(CreateCacheTestFile(filename)); | 35 ASSERT_TRUE(CreateCacheTestFile(filename)); |
36 ASSERT_TRUE(file->Init(filename, 8192)); | 36 ASSERT_TRUE(file->Init(filename, 8192)); |
37 | 37 |
38 disk_cache::CacheEntryBlock entry1(file, disk_cache::Addr(0xa0010001)); | 38 disk_cache::CacheEntryBlock entry1(file.get(), disk_cache::Addr(0xa0010001)); |
39 entry1.Data()->hash = 0xaa5555aa; | 39 entry1.Data()->hash = 0xaa5555aa; |
40 | 40 |
41 disk_cache::CacheEntryBlock entry2(file, disk_cache::Addr(0xa0010002)); | 41 disk_cache::CacheEntryBlock entry2(file.get(), disk_cache::Addr(0xa0010002)); |
42 EXPECT_TRUE(entry2.Load()); | 42 EXPECT_TRUE(entry2.Load()); |
43 EXPECT_TRUE(entry2.Data() != NULL); | 43 EXPECT_TRUE(entry2.Data() != NULL); |
44 EXPECT_TRUE(0 == entry2.Data()->hash); | 44 EXPECT_TRUE(0 == entry2.Data()->hash); |
45 | 45 |
46 EXPECT_TRUE(entry2.Data() != entry1.Data()); | 46 EXPECT_TRUE(entry2.Data() != entry1.Data()); |
47 entry2.SetData(entry1.Data()); | 47 entry2.SetData(entry1.Data()); |
48 EXPECT_EQ(0xaa5555aa, entry2.Data()->hash); | 48 EXPECT_EQ(0xaa5555aa, entry2.Data()->hash); |
49 EXPECT_TRUE(entry2.Data() == entry1.Data()); | 49 EXPECT_TRUE(entry2.Data() == entry1.Data()); |
50 } | 50 } |
51 | 51 |
52 TEST_F(DiskCacheTest, StorageBlock_SetModified) { | 52 TEST_F(DiskCacheTest, StorageBlock_SetModified) { |
53 base::FilePath filename = cache_path_.AppendASCII("a_test"); | 53 base::FilePath filename = cache_path_.AppendASCII("a_test"); |
54 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); | 54 scoped_refptr<disk_cache::MappedFile> file(new disk_cache::MappedFile); |
55 ASSERT_TRUE(CreateCacheTestFile(filename)); | 55 ASSERT_TRUE(CreateCacheTestFile(filename)); |
56 ASSERT_TRUE(file->Init(filename, 8192)); | 56 ASSERT_TRUE(file->Init(filename, 8192)); |
57 | 57 |
58 disk_cache::CacheEntryBlock* entry1 = | 58 disk_cache::CacheEntryBlock* entry1 = |
59 new disk_cache::CacheEntryBlock(file, disk_cache::Addr(0xa0010003)); | 59 new disk_cache::CacheEntryBlock(file.get(), disk_cache::Addr(0xa0010003)); |
60 EXPECT_TRUE(entry1->Load()); | 60 EXPECT_TRUE(entry1->Load()); |
61 EXPECT_TRUE(0 == entry1->Data()->hash); | 61 EXPECT_TRUE(0 == entry1->Data()->hash); |
62 entry1->Data()->hash = 0x45687912; | 62 entry1->Data()->hash = 0x45687912; |
63 entry1->set_modified(); | 63 entry1->set_modified(); |
64 delete entry1; | 64 delete entry1; |
65 | 65 |
66 disk_cache::CacheEntryBlock entry2(file, disk_cache::Addr(0xa0010003)); | 66 disk_cache::CacheEntryBlock entry2(file.get(), disk_cache::Addr(0xa0010003)); |
67 EXPECT_TRUE(entry2.Load()); | 67 EXPECT_TRUE(entry2.Load()); |
68 EXPECT_TRUE(0x45687912 == entry2.Data()->hash); | 68 EXPECT_TRUE(0x45687912 == entry2.Data()->hash); |
69 } | 69 } |
OLD | NEW |