OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/android/history_report/delta_file_backend_leveldb.h" | 5 #include "chrome/browser/android/history_report/delta_file_backend_leveldb.h" |
6 | 6 |
| 7 #include <stdint.h> |
| 8 |
7 #include <vector> | 9 #include <vector> |
8 | 10 |
9 #include "base/files/file_path.h" | 11 #include "base/files/file_path.h" |
10 #include "base/files/scoped_temp_dir.h" | 12 #include "base/files/scoped_temp_dir.h" |
| 13 #include "base/macros.h" |
11 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
12 #include "chrome/browser/android/history_report/delta_file_commons.h" | 15 #include "chrome/browser/android/history_report/delta_file_commons.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
14 #include "url/gurl.h" | 17 #include "url/gurl.h" |
15 | 18 |
16 namespace history_report { | 19 namespace history_report { |
17 | 20 |
18 class DeltaFileBackendTest : public testing::Test { | 21 class DeltaFileBackendTest : public testing::Test { |
19 public: | 22 public: |
20 DeltaFileBackendTest() {} | 23 DeltaFileBackendTest() {} |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 151 |
149 TEST_F(DeltaFileBackendTest, Trim) { | 152 TEST_F(DeltaFileBackendTest, Trim) { |
150 GURL test_url("test.org"); | 153 GURL test_url("test.org"); |
151 // Adding 5 deletion entries for test.org | 154 // Adding 5 deletion entries for test.org |
152 backend_->PageDeleted(test_url); | 155 backend_->PageDeleted(test_url); |
153 backend_->PageDeleted(test_url); | 156 backend_->PageDeleted(test_url); |
154 backend_->PageDeleted(test_url); | 157 backend_->PageDeleted(test_url); |
155 backend_->PageDeleted(test_url); | 158 backend_->PageDeleted(test_url); |
156 backend_->PageDeleted(test_url); | 159 backend_->PageDeleted(test_url); |
157 // Trim all entries with sequence number <= 3. | 160 // Trim all entries with sequence number <= 3. |
158 int64 max_seq_no = backend_->Trim(3); | 161 int64_t max_seq_no = backend_->Trim(3); |
159 EXPECT_EQ(5, max_seq_no); | 162 EXPECT_EQ(5, max_seq_no); |
160 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = | 163 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = |
161 backend_->Query(0, 10); | 164 backend_->Query(0, 10); |
162 EXPECT_TRUE(result.get() != NULL); | 165 EXPECT_TRUE(result.get() != NULL); |
163 EXPECT_EQ(2u, result->size()); | 166 EXPECT_EQ(2u, result->size()); |
164 DeltaFileEntryWithData data = (*result)[0]; | 167 DeltaFileEntryWithData data = (*result)[0]; |
165 // First entry in delta file should now have sequence number == 4 because | 168 // First entry in delta file should now have sequence number == 4 because |
166 // entries with smaller sequence numbers were deleted. | 169 // entries with smaller sequence numbers were deleted. |
167 EXPECT_EQ(4, data.SeqNo()); | 170 EXPECT_EQ(4, data.SeqNo()); |
168 EXPECT_EQ(data.Type(), "del"); | 171 EXPECT_EQ(data.Type(), "del"); |
169 EXPECT_EQ(data.Url(), test_url.spec()); | 172 EXPECT_EQ(data.Url(), test_url.spec()); |
170 } | 173 } |
171 | 174 |
172 TEST_F(DeltaFileBackendTest, TrimLowerBoundEqualToMaxSeqNo) { | 175 TEST_F(DeltaFileBackendTest, TrimLowerBoundEqualToMaxSeqNo) { |
173 GURL test_url("test.org"); | 176 GURL test_url("test.org"); |
174 // Adding 5 deletion entries for test.org | 177 // Adding 5 deletion entries for test.org |
175 backend_->PageDeleted(test_url); | 178 backend_->PageDeleted(test_url); |
176 backend_->PageDeleted(test_url); | 179 backend_->PageDeleted(test_url); |
177 backend_->PageDeleted(test_url); | 180 backend_->PageDeleted(test_url); |
178 backend_->PageDeleted(test_url); | 181 backend_->PageDeleted(test_url); |
179 backend_->PageDeleted(test_url); | 182 backend_->PageDeleted(test_url); |
180 // Trim all entries with sequence number <= 5 but leave at least one entry | 183 // Trim all entries with sequence number <= 5 but leave at least one entry |
181 // in delta file. | 184 // in delta file. |
182 int64 max_seq_no = backend_->Trim(5); | 185 int64_t max_seq_no = backend_->Trim(5); |
183 EXPECT_EQ(5, max_seq_no); | 186 EXPECT_EQ(5, max_seq_no); |
184 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = | 187 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = |
185 backend_->Query(0, 10); | 188 backend_->Query(0, 10); |
186 EXPECT_TRUE(result.get() != NULL); | 189 EXPECT_TRUE(result.get() != NULL); |
187 EXPECT_EQ(1u, result->size()); | 190 EXPECT_EQ(1u, result->size()); |
188 DeltaFileEntryWithData data = (*result)[0]; | 191 DeltaFileEntryWithData data = (*result)[0]; |
189 // All entries but last were removed. | 192 // All entries but last were removed. |
190 EXPECT_EQ(5, data.SeqNo()); | 193 EXPECT_EQ(5, data.SeqNo()); |
191 EXPECT_EQ(data.Type(), "del"); | 194 EXPECT_EQ(data.Type(), "del"); |
192 EXPECT_EQ(data.Url(), test_url.spec()); | 195 EXPECT_EQ(data.Url(), test_url.spec()); |
193 } | 196 } |
194 | 197 |
195 TEST_F(DeltaFileBackendTest, TrimLowerBoundGreaterThanMaxSeqNo) { | 198 TEST_F(DeltaFileBackendTest, TrimLowerBoundGreaterThanMaxSeqNo) { |
196 GURL test_url("test.org"); | 199 GURL test_url("test.org"); |
197 // Adding 5 deletion entries for test.org | 200 // Adding 5 deletion entries for test.org |
198 backend_->PageDeleted(test_url); | 201 backend_->PageDeleted(test_url); |
199 backend_->PageDeleted(test_url); | 202 backend_->PageDeleted(test_url); |
200 backend_->PageDeleted(test_url); | 203 backend_->PageDeleted(test_url); |
201 backend_->PageDeleted(test_url); | 204 backend_->PageDeleted(test_url); |
202 backend_->PageDeleted(test_url); | 205 backend_->PageDeleted(test_url); |
203 // Trim all entries with sequence number <= 6 but leave at least one entry | 206 // Trim all entries with sequence number <= 6 but leave at least one entry |
204 // in delta file. | 207 // in delta file. |
205 int64 max_seq_no = backend_->Trim(6); | 208 int64_t max_seq_no = backend_->Trim(6); |
206 EXPECT_EQ(5, max_seq_no); | 209 EXPECT_EQ(5, max_seq_no); |
207 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = | 210 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = |
208 backend_->Query(0, 10); | 211 backend_->Query(0, 10); |
209 EXPECT_TRUE(result.get() != NULL); | 212 EXPECT_TRUE(result.get() != NULL); |
210 EXPECT_EQ(1u, result->size()); | 213 EXPECT_EQ(1u, result->size()); |
211 DeltaFileEntryWithData data = (*result)[0]; | 214 DeltaFileEntryWithData data = (*result)[0]; |
212 // All entries but last were removed. | 215 // All entries but last were removed. |
213 EXPECT_EQ(5, data.SeqNo()); | 216 EXPECT_EQ(5, data.SeqNo()); |
214 EXPECT_EQ(data.Type(), "del"); | 217 EXPECT_EQ(data.Type(), "del"); |
215 EXPECT_EQ(data.Url(), test_url.spec()); | 218 EXPECT_EQ(data.Url(), test_url.spec()); |
216 } | 219 } |
217 | 220 |
218 TEST_F(DeltaFileBackendTest, TrimDeltaFileWithSingleEntry) { | 221 TEST_F(DeltaFileBackendTest, TrimDeltaFileWithSingleEntry) { |
219 GURL test_url("test.org"); | 222 GURL test_url("test.org"); |
220 backend_->PageDeleted(test_url); | 223 backend_->PageDeleted(test_url); |
221 // Trim all entries with sequence number <= 1 but leave at least one entry | 224 // Trim all entries with sequence number <= 1 but leave at least one entry |
222 // in delta file. Should not remove any entries since there's only one | 225 // in delta file. Should not remove any entries since there's only one |
223 // in delta file. | 226 // in delta file. |
224 int64 max_seq_no = backend_->Trim(1); | 227 int64_t max_seq_no = backend_->Trim(1); |
225 EXPECT_EQ(1, max_seq_no); | 228 EXPECT_EQ(1, max_seq_no); |
226 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = | 229 scoped_ptr<std::vector<DeltaFileEntryWithData> > result = |
227 backend_->Query(0, 10); | 230 backend_->Query(0, 10); |
228 EXPECT_TRUE(result.get() != NULL); | 231 EXPECT_TRUE(result.get() != NULL); |
229 EXPECT_EQ(1u, result->size()); | 232 EXPECT_EQ(1u, result->size()); |
230 DeltaFileEntryWithData data = (*result)[0]; | 233 DeltaFileEntryWithData data = (*result)[0]; |
231 // No entries removed because there was only one. | 234 // No entries removed because there was only one. |
232 EXPECT_EQ(1, data.SeqNo()); | 235 EXPECT_EQ(1, data.SeqNo()); |
233 EXPECT_EQ(data.Type(), "del"); | 236 EXPECT_EQ(data.Type(), "del"); |
234 EXPECT_EQ(data.Url(), test_url.spec()); | 237 EXPECT_EQ(data.Url(), test_url.spec()); |
(...skipping 15 matching lines...) Expand all Loading... |
250 DeltaFileEntryWithData data = (*result)[i]; | 253 DeltaFileEntryWithData data = (*result)[i]; |
251 // +2 because we skipped first entry and | 254 // +2 because we skipped first entry and |
252 // sequence number starts with 1 not with 0. | 255 // sequence number starts with 1 not with 0. |
253 EXPECT_EQ(i + 2, data.SeqNo()); | 256 EXPECT_EQ(i + 2, data.SeqNo()); |
254 EXPECT_EQ(data.Type(), "del"); | 257 EXPECT_EQ(data.Type(), "del"); |
255 EXPECT_EQ(data.Url(), test_url.spec()); | 258 EXPECT_EQ(data.Url(), test_url.spec()); |
256 } | 259 } |
257 } | 260 } |
258 | 261 |
259 } // namespace history_report | 262 } // namespace history_report |
OLD | NEW |