OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/browser/service_worker/service_worker_database.h" | 5 #include "content/browser/service_worker/service_worker_database.h" |
6 | 6 |
7 #include "base/files/scoped_temp_dir.h" | 7 #include "base/files/scoped_temp_dir.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "content/browser/service_worker/service_worker_database.pb.h" | 9 #include "content/browser/service_worker/service_worker_database.pb.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 data.registration_id, origin, &data_out, &resources_out)); | 259 data.registration_id, origin, &data_out, &resources_out)); |
260 VerifyRegistrationData(data, data_out); | 260 VerifyRegistrationData(data, data_out); |
261 | 261 |
262 EXPECT_TRUE(database->DeleteRegistration(data.registration_id, | 262 EXPECT_TRUE(database->DeleteRegistration(data.registration_id, |
263 data.scope.GetOrigin())); | 263 data.scope.GetOrigin())); |
264 | 264 |
265 EXPECT_FALSE(database->ReadRegistration( | 265 EXPECT_FALSE(database->ReadRegistration( |
266 data.registration_id, origin, &data_out, &resources_out)); | 266 data.registration_id, origin, &data_out, &resources_out)); |
267 } | 267 } |
268 | 268 |
| 269 TEST(ServiceWorkerDatabaseTest, UncommittedResourceIds) { |
| 270 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 271 |
| 272 // Write {1, 2, 3}. |
| 273 std::set<int64> ids1; |
| 274 ids1.insert(1); |
| 275 ids1.insert(2); |
| 276 ids1.insert(3); |
| 277 EXPECT_TRUE(database->WriteUncommittedResourceIds(ids1)); |
| 278 |
| 279 std::set<int64> ids_out; |
| 280 EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out)); |
| 281 EXPECT_EQ(ids1.size(), ids_out.size()); |
| 282 EXPECT_TRUE(base::STLIncludes(ids1, ids_out)); |
| 283 |
| 284 // Write {2, 4}. |
| 285 std::set<int64> ids2; |
| 286 ids2.insert(2); |
| 287 ids2.insert(4); |
| 288 EXPECT_TRUE(database->WriteUncommittedResourceIds(ids2)); |
| 289 |
| 290 ids_out.clear(); |
| 291 EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out)); |
| 292 EXPECT_EQ(4U, ids_out.size()); |
| 293 EXPECT_TRUE(ContainsKey(ids_out, 1)); |
| 294 EXPECT_TRUE(ContainsKey(ids_out, 2)); |
| 295 EXPECT_TRUE(ContainsKey(ids_out, 3)); |
| 296 EXPECT_TRUE(ContainsKey(ids_out, 4)); |
| 297 |
| 298 // Delete {2, 3}. |
| 299 std::set<int64> ids3; |
| 300 ids3.insert(2); |
| 301 ids3.insert(3); |
| 302 EXPECT_TRUE(database->ClearUncommittedResourceIds(ids3)); |
| 303 |
| 304 ids_out.clear(); |
| 305 EXPECT_TRUE(database->GetUncommittedResourceIds(&ids_out)); |
| 306 EXPECT_EQ(2U, ids_out.size()); |
| 307 EXPECT_TRUE(ContainsKey(ids_out, 1)); |
| 308 EXPECT_TRUE(ContainsKey(ids_out, 4)); |
| 309 } |
| 310 |
| 311 TEST(ServiceWorkerDatabaseTest, PurgeableResourceIds) { |
| 312 scoped_ptr<ServiceWorkerDatabase> database(CreateDatabaseInMemory()); |
| 313 |
| 314 // Write {1, 2, 3}. |
| 315 std::set<int64> ids1; |
| 316 ids1.insert(1); |
| 317 ids1.insert(2); |
| 318 ids1.insert(3); |
| 319 EXPECT_TRUE(database->WritePurgeableResourceIds(ids1)); |
| 320 |
| 321 std::set<int64> ids_out; |
| 322 EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out)); |
| 323 EXPECT_EQ(ids1.size(), ids_out.size()); |
| 324 EXPECT_TRUE(base::STLIncludes(ids1, ids_out)); |
| 325 |
| 326 // Write {2, 4}. |
| 327 std::set<int64> ids2; |
| 328 ids2.insert(2); |
| 329 ids2.insert(4); |
| 330 EXPECT_TRUE(database->WritePurgeableResourceIds(ids2)); |
| 331 |
| 332 ids_out.clear(); |
| 333 EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out)); |
| 334 EXPECT_EQ(4U, ids_out.size()); |
| 335 EXPECT_TRUE(ContainsKey(ids_out, 1)); |
| 336 EXPECT_TRUE(ContainsKey(ids_out, 2)); |
| 337 EXPECT_TRUE(ContainsKey(ids_out, 3)); |
| 338 EXPECT_TRUE(ContainsKey(ids_out, 4)); |
| 339 |
| 340 // Delete {2, 3}. |
| 341 std::set<int64> ids3; |
| 342 ids3.insert(2); |
| 343 ids3.insert(3); |
| 344 EXPECT_TRUE(database->ClearPurgeableResourceIds(ids3)); |
| 345 |
| 346 ids_out.clear(); |
| 347 EXPECT_TRUE(database->GetPurgeableResourceIds(&ids_out)); |
| 348 EXPECT_EQ(2U, ids_out.size()); |
| 349 EXPECT_TRUE(ContainsKey(ids_out, 1)); |
| 350 EXPECT_TRUE(ContainsKey(ids_out, 4)); |
| 351 } |
| 352 |
269 } // namespace content | 353 } // namespace content |
OLD | NEW |