Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Side by Side Diff: content/browser/cache_storage/cache_storage_index_unittest.cc

Issue 2416713002: Write out CacheStorageCache size to index file. (Closed)
Patch Set: BrowserThread::PostDelayedTask(IO, ...) --> base::ThreadTaskRunnerHandle::Get()->Post* Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/browser/cache_storage/cache_storage_index.h"
6
7 #include <list>
8 #include <utility>
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace content {
12
13 class CacheStorageIndexTest : public testing::Test {
14 public:
15 void SetUp() override {}
16 void TearDown() override {}
17 CacheStorageIndexTest() = default;
18
19 private:
20 DISALLOW_COPY_AND_ASSIGN(CacheStorageIndexTest);
21 };
22
23 TEST_F(CacheStorageIndexTest, TestDefaultConstructor) {
24 CacheStorageIndex index;
25 EXPECT_EQ(0u, index.num_entries());
26 EXPECT_TRUE(index.ordered_cache_metadata().empty());
27 EXPECT_EQ(0u, index.GetStorageSize());
28 }
29
30 TEST_F(CacheStorageIndexTest, TestSetCacheSize) {
31 CacheStorageIndex index;
32 index.Insert(CacheStorageIndex::CacheMetadata("foo", 12));
33 index.Insert(CacheStorageIndex::CacheMetadata("bar", 19));
34 index.Insert(CacheStorageIndex::CacheMetadata("baz", 1000));
35 EXPECT_EQ(3u, index.num_entries());
36 ASSERT_EQ(3u, index.ordered_cache_metadata().size());
37 EXPECT_EQ(1031, index.GetStorageSize());
38
39 EXPECT_TRUE(index.SetCacheSize("baz", 2000));
40 EXPECT_EQ(2031, index.GetStorageSize());
41
42 EXPECT_FALSE(index.SetCacheSize("baz", 2000));
43 EXPECT_EQ(2031, index.GetStorageSize());
44
45 EXPECT_EQ(2000, index.GetCacheSize("baz"));
46 EXPECT_EQ(CacheStorage::kSizeUnknown, index.GetCacheSize("<not-present>"));
47 }
48
49 TEST_F(CacheStorageIndexTest, TestDoomCache) {
50 CacheStorageIndex index;
51 index.Insert(CacheStorageIndex::CacheMetadata("foo", 12));
52 index.Insert(CacheStorageIndex::CacheMetadata("bar", 19));
53 index.Insert(CacheStorageIndex::CacheMetadata("baz", 1000));
54 EXPECT_EQ(3u, index.num_entries());
55 ASSERT_EQ(3u, index.ordered_cache_metadata().size());
56 EXPECT_EQ(1031, index.GetStorageSize());
57
58 index.DoomCache("bar");
59 EXPECT_EQ(2u, index.num_entries());
60 ASSERT_EQ(2u, index.ordered_cache_metadata().size());
61 EXPECT_EQ(1031 - 19, index.GetStorageSize());
62 index.RestoreDoomedCache();
63 EXPECT_EQ(3u, index.num_entries());
64 ASSERT_EQ(3u, index.ordered_cache_metadata().size());
65 auto it = index.ordered_cache_metadata().begin();
66 EXPECT_EQ("foo", (it++)->name);
67 EXPECT_EQ("bar", (it++)->name);
68 EXPECT_EQ("baz", (it++)->name);
69 EXPECT_EQ(1031, index.GetStorageSize());
70
71 index.DoomCache("foo");
72 EXPECT_EQ(2u, index.num_entries());
73 ASSERT_EQ(2u, index.ordered_cache_metadata().size());
74 EXPECT_EQ(1031 - 12, index.GetStorageSize());
75 index.FinalizeDoomedCache();
76 EXPECT_EQ(2u, index.num_entries());
77 ASSERT_EQ(2u, index.ordered_cache_metadata().size());
78 EXPECT_EQ(1031 - 12, index.GetStorageSize());
79 }
80
81 TEST_F(CacheStorageIndexTest, TestDelete) {
82 CacheStorageIndex index;
83 index.Insert(CacheStorageIndex::CacheMetadata("bar", 19));
84 index.Insert(CacheStorageIndex::CacheMetadata("foo", 12));
85 index.Insert(CacheStorageIndex::CacheMetadata("baz", 1000));
86 EXPECT_EQ(3u, index.num_entries());
87 ASSERT_EQ(3u, index.ordered_cache_metadata().size());
88 EXPECT_EQ(1031, index.GetStorageSize());
89
90 auto it = index.ordered_cache_metadata().begin();
91 EXPECT_EQ("bar", it->name);
92 EXPECT_EQ(19u, it->size);
93 it++;
94 EXPECT_EQ("foo", it->name);
95 EXPECT_EQ(12u, it->size);
96 it++;
97 EXPECT_EQ("baz", it->name);
98 EXPECT_EQ(1000u, it->size);
99
100 index.Delete("bar");
101 EXPECT_EQ(2u, index.num_entries());
102 ASSERT_EQ(2u, index.ordered_cache_metadata().size());
103 EXPECT_EQ(1012, index.GetStorageSize());
104
105 it = index.ordered_cache_metadata().begin();
106 EXPECT_EQ("foo", it->name);
107 EXPECT_EQ(12u, it->size);
108 it++;
109 EXPECT_EQ("baz", it->name);
110 EXPECT_EQ(1000u, it->size);
111
112 index.Delete("baz");
113 EXPECT_EQ(1u, index.num_entries());
114 ASSERT_EQ(1u, index.ordered_cache_metadata().size());
115 EXPECT_EQ(12, index.GetStorageSize());
116
117 it = index.ordered_cache_metadata().begin();
118 EXPECT_EQ("foo", it->name);
119 EXPECT_EQ(12u, it->size);
120 }
121
122 TEST_F(CacheStorageIndexTest, TestInsert) {
123 CacheStorageIndex index;
124 index.Insert(CacheStorageIndex::CacheMetadata("foo", 12));
125 index.Insert(CacheStorageIndex::CacheMetadata("bar", 19));
126 index.Insert(CacheStorageIndex::CacheMetadata("baz", 1000));
127 EXPECT_EQ(3u, index.num_entries());
128 ASSERT_EQ(3u, index.ordered_cache_metadata().size());
129 EXPECT_EQ(1031, index.GetStorageSize());
130 }
131
132 TEST_F(CacheStorageIndexTest, TestMoveOperator) {
133 CacheStorageIndex index;
134 index.Insert(CacheStorageIndex::CacheMetadata("foo", 12));
135 index.Insert(CacheStorageIndex::CacheMetadata("bar", 19));
136 index.Insert(CacheStorageIndex::CacheMetadata("baz", 1000));
137
138 CacheStorageIndex index2;
139 index2 = std::move(index);
140
141 EXPECT_EQ(3u, index2.num_entries());
142 EXPECT_EQ(3u, index2.ordered_cache_metadata().size());
143 ASSERT_EQ(1031, index2.GetStorageSize());
144
145 EXPECT_EQ(0u, index.num_entries());
146 EXPECT_TRUE(index.ordered_cache_metadata().empty());
147 EXPECT_EQ(0u, index.GetStorageSize());
148
149 auto it = index2.ordered_cache_metadata().begin();
150 EXPECT_EQ("foo", it->name);
151 EXPECT_EQ(12u, it->size);
152 it++;
153 EXPECT_EQ("bar", it->name);
154 EXPECT_EQ(19u, it->size);
155 it++;
156 EXPECT_EQ("baz", it->name);
157 EXPECT_EQ(1000u, it->size);
158
159 EXPECT_EQ(3u, index2.num_entries());
160 ASSERT_EQ(3u, index2.ordered_cache_metadata().size());
161 EXPECT_EQ(1031, index2.GetStorageSize());
162 }
163
164 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698