| 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 <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
| 5 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
| 6 #include "content/browser/appcache/appcache.h" | 9 #include "content/browser/appcache/appcache.h" |
| 7 #include "content/browser/appcache/appcache_group.h" | 10 #include "content/browser/appcache/appcache_group.h" |
| 8 #include "content/browser/appcache/appcache_response.h" | 11 #include "content/browser/appcache/appcache_response.h" |
| 9 #include "content/browser/appcache/appcache_storage.h" | 12 #include "content/browser/appcache/appcache_storage.h" |
| 10 #include "content/browser/appcache/mock_appcache_service.h" | 13 #include "content/browser/appcache/mock_appcache_service.h" |
| 11 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 12 | 15 |
| 13 namespace content { | 16 namespace content { |
| 14 | 17 |
| 15 class MockAppCacheStorageTest : public testing::Test { | 18 class MockAppCacheStorageTest : public testing::Test { |
| 16 public: | 19 public: |
| 17 class MockStorageDelegate : public AppCacheStorage::Delegate { | 20 class MockStorageDelegate : public AppCacheStorage::Delegate { |
| 18 public: | 21 public: |
| 19 explicit MockStorageDelegate() | 22 explicit MockStorageDelegate() |
| 20 : loaded_cache_id_(0), stored_group_success_(false), | 23 : loaded_cache_id_(0), stored_group_success_(false), |
| 21 obsoleted_success_(false), found_cache_id_(kAppCacheNoCacheId) { | 24 obsoleted_success_(false), found_cache_id_(kAppCacheNoCacheId) { |
| 22 } | 25 } |
| 23 | 26 |
| 24 void OnCacheLoaded(AppCache* cache, int64 cache_id) override { | 27 void OnCacheLoaded(AppCache* cache, int64_t cache_id) override { |
| 25 loaded_cache_ = cache; | 28 loaded_cache_ = cache; |
| 26 loaded_cache_id_ = cache_id; | 29 loaded_cache_id_ = cache_id; |
| 27 } | 30 } |
| 28 | 31 |
| 29 void OnGroupLoaded(AppCacheGroup* group, | 32 void OnGroupLoaded(AppCacheGroup* group, |
| 30 const GURL& manifest_url) override { | 33 const GURL& manifest_url) override { |
| 31 loaded_group_ = group; | 34 loaded_group_ = group; |
| 32 loaded_manifest_url_ = manifest_url; | 35 loaded_manifest_url_ = manifest_url; |
| 33 } | 36 } |
| 34 | 37 |
| 35 void OnGroupAndNewestCacheStored(AppCacheGroup* group, | 38 void OnGroupAndNewestCacheStored(AppCacheGroup* group, |
| 36 AppCache* newest_cache, | 39 AppCache* newest_cache, |
| 37 bool success, | 40 bool success, |
| 38 bool would_exceed_quota) override { | 41 bool would_exceed_quota) override { |
| 39 stored_group_ = group; | 42 stored_group_ = group; |
| 40 stored_group_success_ = success; | 43 stored_group_success_ = success; |
| 41 } | 44 } |
| 42 | 45 |
| 43 void OnGroupMadeObsolete(AppCacheGroup* group, | 46 void OnGroupMadeObsolete(AppCacheGroup* group, |
| 44 bool success, | 47 bool success, |
| 45 int response_code) override { | 48 int response_code) override { |
| 46 obsoleted_group_ = group; | 49 obsoleted_group_ = group; |
| 47 obsoleted_success_ = success; | 50 obsoleted_success_ = success; |
| 48 } | 51 } |
| 49 | 52 |
| 50 void OnMainResponseFound(const GURL& url, | 53 void OnMainResponseFound(const GURL& url, |
| 51 const AppCacheEntry& entry, | 54 const AppCacheEntry& entry, |
| 52 const GURL& fallback_url, | 55 const GURL& fallback_url, |
| 53 const AppCacheEntry& fallback_entry, | 56 const AppCacheEntry& fallback_entry, |
| 54 int64 cache_id, | 57 int64_t cache_id, |
| 55 int64 group_id, | 58 int64_t group_id, |
| 56 const GURL& manifest_url) override { | 59 const GURL& manifest_url) override { |
| 57 found_url_ = url; | 60 found_url_ = url; |
| 58 found_entry_ = entry; | 61 found_entry_ = entry; |
| 59 found_fallback_url_ = fallback_url; | 62 found_fallback_url_ = fallback_url; |
| 60 found_fallback_entry_ = fallback_entry; | 63 found_fallback_entry_ = fallback_entry; |
| 61 found_cache_id_ = cache_id; | 64 found_cache_id_ = cache_id; |
| 62 found_manifest_url_ = manifest_url; | 65 found_manifest_url_ = manifest_url; |
| 63 } | 66 } |
| 64 | 67 |
| 65 scoped_refptr<AppCache> loaded_cache_; | 68 scoped_refptr<AppCache> loaded_cache_; |
| 66 int64 loaded_cache_id_; | 69 int64_t loaded_cache_id_; |
| 67 scoped_refptr<AppCacheGroup> loaded_group_; | 70 scoped_refptr<AppCacheGroup> loaded_group_; |
| 68 GURL loaded_manifest_url_; | 71 GURL loaded_manifest_url_; |
| 69 scoped_refptr<AppCacheGroup> stored_group_; | 72 scoped_refptr<AppCacheGroup> stored_group_; |
| 70 bool stored_group_success_; | 73 bool stored_group_success_; |
| 71 scoped_refptr<AppCacheGroup> obsoleted_group_; | 74 scoped_refptr<AppCacheGroup> obsoleted_group_; |
| 72 bool obsoleted_success_; | 75 bool obsoleted_success_; |
| 73 GURL found_url_; | 76 GURL found_url_; |
| 74 AppCacheEntry found_entry_; | 77 AppCacheEntry found_entry_; |
| 75 GURL found_fallback_url_; | 78 GURL found_fallback_url_; |
| 76 AppCacheEntry found_fallback_entry_; | 79 AppCacheEntry found_fallback_entry_; |
| 77 int64 found_cache_id_; | 80 int64_t found_cache_id_; |
| 78 GURL found_manifest_url_; | 81 GURL found_manifest_url_; |
| 79 }; | 82 }; |
| 80 | 83 |
| 81 private: | 84 private: |
| 82 base::MessageLoop message_loop_; | 85 base::MessageLoop message_loop_; |
| 83 }; | 86 }; |
| 84 | 87 |
| 85 TEST_F(MockAppCacheStorageTest, LoadCache_Miss) { | 88 TEST_F(MockAppCacheStorageTest, LoadCache_Miss) { |
| 86 // Attempt to load a cache that doesn't exist. Should | 89 // Attempt to load a cache that doesn't exist. Should |
| 87 // complete asyncly. | 90 // complete asyncly. |
| 88 MockAppCacheService service; | 91 MockAppCacheService service; |
| 89 MockStorageDelegate delegate; | 92 MockStorageDelegate delegate; |
| 90 service.storage()->LoadCache(111, &delegate); | 93 service.storage()->LoadCache(111, &delegate); |
| 91 EXPECT_NE(111, delegate.loaded_cache_id_); | 94 EXPECT_NE(111, delegate.loaded_cache_id_); |
| 92 base::RunLoop().RunUntilIdle(); // Do async task execution. | 95 base::RunLoop().RunUntilIdle(); // Do async task execution. |
| 93 EXPECT_EQ(111, delegate.loaded_cache_id_); | 96 EXPECT_EQ(111, delegate.loaded_cache_id_); |
| 94 EXPECT_FALSE(delegate.loaded_cache_.get()); | 97 EXPECT_FALSE(delegate.loaded_cache_.get()); |
| 95 } | 98 } |
| 96 | 99 |
| 97 TEST_F(MockAppCacheStorageTest, LoadCache_NearHit) { | 100 TEST_F(MockAppCacheStorageTest, LoadCache_NearHit) { |
| 98 // Attempt to load a cache that is currently in use | 101 // Attempt to load a cache that is currently in use |
| 99 // and does not require loading from disk. This | 102 // and does not require loading from disk. This |
| 100 // load should complete syncly. | 103 // load should complete syncly. |
| 101 MockAppCacheService service; | 104 MockAppCacheService service; |
| 102 | 105 |
| 103 // Setup some preconditions. Make an 'unstored' cache for | 106 // Setup some preconditions. Make an 'unstored' cache for |
| 104 // us to load. The ctor should put it in the working set. | 107 // us to load. The ctor should put it in the working set. |
| 105 int64 cache_id = service.storage()->NewCacheId(); | 108 int64_t cache_id = service.storage()->NewCacheId(); |
| 106 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 109 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 107 | 110 |
| 108 // Conduct the test. | 111 // Conduct the test. |
| 109 MockStorageDelegate delegate; | 112 MockStorageDelegate delegate; |
| 110 service.storage()->LoadCache(cache_id, &delegate); | 113 service.storage()->LoadCache(cache_id, &delegate); |
| 111 EXPECT_EQ(cache_id, delegate.loaded_cache_id_); | 114 EXPECT_EQ(cache_id, delegate.loaded_cache_id_); |
| 112 EXPECT_EQ(cache.get(), delegate.loaded_cache_.get()); | 115 EXPECT_EQ(cache.get(), delegate.loaded_cache_.get()); |
| 113 } | 116 } |
| 114 | 117 |
| 115 TEST_F(MockAppCacheStorageTest, CreateGroup) { | 118 TEST_F(MockAppCacheStorageTest, CreateGroup) { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 // load should complete asyncly. | 166 // load should complete asyncly. |
| 164 MockAppCacheService service; | 167 MockAppCacheService service; |
| 165 MockAppCacheStorage* storage = | 168 MockAppCacheStorage* storage = |
| 166 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 169 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 167 | 170 |
| 168 // Setup some preconditions. Create a group and newest cache that | 171 // Setup some preconditions. Create a group and newest cache that |
| 169 // appears to be "stored" and "not currently in use". | 172 // appears to be "stored" and "not currently in use". |
| 170 GURL manifest_url("http://blah/"); | 173 GURL manifest_url("http://blah/"); |
| 171 scoped_refptr<AppCacheGroup> group( | 174 scoped_refptr<AppCacheGroup> group( |
| 172 new AppCacheGroup(service.storage(), manifest_url, 111)); | 175 new AppCacheGroup(service.storage(), manifest_url, 111)); |
| 173 int64 cache_id = storage->NewCacheId(); | 176 int64_t cache_id = storage->NewCacheId(); |
| 174 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 177 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 175 cache->set_complete(true); | 178 cache->set_complete(true); |
| 176 group->AddCache(cache.get()); | 179 group->AddCache(cache.get()); |
| 177 storage->AddStoredGroup(group.get()); | 180 storage->AddStoredGroup(group.get()); |
| 178 storage->AddStoredCache(cache.get()); | 181 storage->AddStoredCache(cache.get()); |
| 179 | 182 |
| 180 // Drop the references from above so the only refs to these | 183 // Drop the references from above so the only refs to these |
| 181 // objects are from within the storage class. This is to make | 184 // objects are from within the storage class. This is to make |
| 182 // these objects appear as "not currently in use". | 185 // these objects appear as "not currently in use". |
| 183 AppCache* cache_ptr = cache.get(); | 186 AppCache* cache_ptr = cache.get(); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 214 // Store a group and its newest cache. Should complete asyncly. | 217 // Store a group and its newest cache. Should complete asyncly. |
| 215 MockAppCacheService service; | 218 MockAppCacheService service; |
| 216 MockAppCacheStorage* storage = | 219 MockAppCacheStorage* storage = |
| 217 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 220 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 218 | 221 |
| 219 // Setup some preconditions. Create a group and newest cache that | 222 // Setup some preconditions. Create a group and newest cache that |
| 220 // appears to be "unstored". | 223 // appears to be "unstored". |
| 221 GURL manifest_url("http://blah/"); | 224 GURL manifest_url("http://blah/"); |
| 222 scoped_refptr<AppCacheGroup> group( | 225 scoped_refptr<AppCacheGroup> group( |
| 223 new AppCacheGroup(service.storage(), manifest_url, 111)); | 226 new AppCacheGroup(service.storage(), manifest_url, 111)); |
| 224 int64 cache_id = storage->NewCacheId(); | 227 int64_t cache_id = storage->NewCacheId(); |
| 225 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 228 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 226 // Hold a ref to the cache simulate the UpdateJob holding that ref, | 229 // Hold a ref to the cache simulate the UpdateJob holding that ref, |
| 227 // and hold a ref to the group to simulate the CacheHost holding that ref. | 230 // and hold a ref to the group to simulate the CacheHost holding that ref. |
| 228 | 231 |
| 229 // Conduct the store test. | 232 // Conduct the store test. |
| 230 MockStorageDelegate delegate; | 233 MockStorageDelegate delegate; |
| 231 EXPECT_TRUE(storage->stored_caches_.empty()); | 234 EXPECT_TRUE(storage->stored_caches_.empty()); |
| 232 EXPECT_TRUE(storage->stored_groups_.empty()); | 235 EXPECT_TRUE(storage->stored_groups_.empty()); |
| 233 storage->StoreGroupAndNewestCache(group.get(), cache.get(), &delegate); | 236 storage->StoreGroupAndNewestCache(group.get(), cache.get(), &delegate); |
| 234 EXPECT_FALSE(delegate.stored_group_success_); | 237 EXPECT_FALSE(delegate.stored_group_success_); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 246 // Store a group and its newest cache. Should complete asyncly. | 249 // Store a group and its newest cache. Should complete asyncly. |
| 247 MockAppCacheService service; | 250 MockAppCacheService service; |
| 248 MockAppCacheStorage* storage = | 251 MockAppCacheStorage* storage = |
| 249 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 252 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 250 | 253 |
| 251 // Setup some preconditions. Create a group and old complete cache | 254 // Setup some preconditions. Create a group and old complete cache |
| 252 // that appear to be "stored", and a newest unstored complete cache. | 255 // that appear to be "stored", and a newest unstored complete cache. |
| 253 GURL manifest_url("http://blah/"); | 256 GURL manifest_url("http://blah/"); |
| 254 scoped_refptr<AppCacheGroup> group( | 257 scoped_refptr<AppCacheGroup> group( |
| 255 new AppCacheGroup(service.storage(), manifest_url, 111)); | 258 new AppCacheGroup(service.storage(), manifest_url, 111)); |
| 256 int64 old_cache_id = storage->NewCacheId(); | 259 int64_t old_cache_id = storage->NewCacheId(); |
| 257 scoped_refptr<AppCache> old_cache( | 260 scoped_refptr<AppCache> old_cache( |
| 258 new AppCache(service.storage(), old_cache_id)); | 261 new AppCache(service.storage(), old_cache_id)); |
| 259 old_cache->set_complete(true); | 262 old_cache->set_complete(true); |
| 260 group->AddCache(old_cache.get()); | 263 group->AddCache(old_cache.get()); |
| 261 storage->AddStoredGroup(group.get()); | 264 storage->AddStoredGroup(group.get()); |
| 262 storage->AddStoredCache(old_cache.get()); | 265 storage->AddStoredCache(old_cache.get()); |
| 263 int64 new_cache_id = storage->NewCacheId(); | 266 int64_t new_cache_id = storage->NewCacheId(); |
| 264 scoped_refptr<AppCache> new_cache( | 267 scoped_refptr<AppCache> new_cache( |
| 265 new AppCache(service.storage(), new_cache_id)); | 268 new AppCache(service.storage(), new_cache_id)); |
| 266 // Hold our refs to simulate the UpdateJob holding these refs. | 269 // Hold our refs to simulate the UpdateJob holding these refs. |
| 267 | 270 |
| 268 // Conduct the test. | 271 // Conduct the test. |
| 269 MockStorageDelegate delegate; | 272 MockStorageDelegate delegate; |
| 270 EXPECT_EQ(size_t(1), storage->stored_caches_.size()); | 273 EXPECT_EQ(size_t(1), storage->stored_caches_.size()); |
| 271 EXPECT_EQ(size_t(1), storage->stored_groups_.size()); | 274 EXPECT_EQ(size_t(1), storage->stored_groups_.size()); |
| 272 EXPECT_TRUE(storage->IsCacheStored(old_cache.get())); | 275 EXPECT_TRUE(storage->IsCacheStored(old_cache.get())); |
| 273 EXPECT_FALSE(storage->IsCacheStored(new_cache.get())); | 276 EXPECT_FALSE(storage->IsCacheStored(new_cache.get())); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 291 // Store a group with updates to its existing newest complete cache. | 294 // Store a group with updates to its existing newest complete cache. |
| 292 MockAppCacheService service; | 295 MockAppCacheService service; |
| 293 MockAppCacheStorage* storage = | 296 MockAppCacheStorage* storage = |
| 294 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 297 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 295 | 298 |
| 296 // Setup some preconditions. Create a group and a complete cache that | 299 // Setup some preconditions. Create a group and a complete cache that |
| 297 // appear to be "stored". | 300 // appear to be "stored". |
| 298 GURL manifest_url("http://blah"); | 301 GURL manifest_url("http://blah"); |
| 299 scoped_refptr<AppCacheGroup> group( | 302 scoped_refptr<AppCacheGroup> group( |
| 300 new AppCacheGroup(service.storage(), manifest_url, 111)); | 303 new AppCacheGroup(service.storage(), manifest_url, 111)); |
| 301 int64 cache_id = storage->NewCacheId(); | 304 int64_t cache_id = storage->NewCacheId(); |
| 302 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 305 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 303 cache->set_complete(true); | 306 cache->set_complete(true); |
| 304 group->AddCache(cache.get()); | 307 group->AddCache(cache.get()); |
| 305 storage->AddStoredGroup(group.get()); | 308 storage->AddStoredGroup(group.get()); |
| 306 storage->AddStoredCache(cache.get()); | 309 storage->AddStoredCache(cache.get()); |
| 307 // Hold our refs to simulate the UpdateJob holding these refs. | 310 // Hold our refs to simulate the UpdateJob holding these refs. |
| 308 | 311 |
| 309 // Change the group's newest cache. | 312 // Change the group's newest cache. |
| 310 EXPECT_EQ(cache.get(), group->newest_complete_cache()); | 313 EXPECT_EQ(cache.get(), group->newest_complete_cache()); |
| 311 GURL entry_url("http://blah/blah"); | 314 GURL entry_url("http://blah/blah"); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 333 // Make a group obsolete, should complete asyncly. | 336 // Make a group obsolete, should complete asyncly. |
| 334 MockAppCacheService service; | 337 MockAppCacheService service; |
| 335 MockAppCacheStorage* storage = | 338 MockAppCacheStorage* storage = |
| 336 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 339 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 337 | 340 |
| 338 // Setup some preconditions. Create a group and newest cache that | 341 // Setup some preconditions. Create a group and newest cache that |
| 339 // appears to be "stored" and "currently in use". | 342 // appears to be "stored" and "currently in use". |
| 340 GURL manifest_url("http://blah/"); | 343 GURL manifest_url("http://blah/"); |
| 341 scoped_refptr<AppCacheGroup> group( | 344 scoped_refptr<AppCacheGroup> group( |
| 342 new AppCacheGroup(service.storage(), manifest_url, 111)); | 345 new AppCacheGroup(service.storage(), manifest_url, 111)); |
| 343 int64 cache_id = storage->NewCacheId(); | 346 int64_t cache_id = storage->NewCacheId(); |
| 344 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 347 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 345 cache->set_complete(true); | 348 cache->set_complete(true); |
| 346 group->AddCache(cache.get()); | 349 group->AddCache(cache.get()); |
| 347 storage->AddStoredGroup(group.get()); | 350 storage->AddStoredGroup(group.get()); |
| 348 storage->AddStoredCache(cache.get()); | 351 storage->AddStoredCache(cache.get()); |
| 349 // Hold our refs to simulate the UpdateJob holding these refs. | 352 // Hold our refs to simulate the UpdateJob holding these refs. |
| 350 | 353 |
| 351 // Conduct the test. | 354 // Conduct the test. |
| 352 MockStorageDelegate delegate; | 355 MockStorageDelegate delegate; |
| 353 EXPECT_FALSE(group->is_obsolete()); | 356 EXPECT_FALSE(group->is_obsolete()); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 375 } | 378 } |
| 376 | 379 |
| 377 TEST_F(MockAppCacheStorageTest, MarkEntryAsForeign) { | 380 TEST_F(MockAppCacheStorageTest, MarkEntryAsForeign) { |
| 378 // Should complete syncly. | 381 // Should complete syncly. |
| 379 MockAppCacheService service; | 382 MockAppCacheService service; |
| 380 MockAppCacheStorage* storage = | 383 MockAppCacheStorage* storage = |
| 381 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 384 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 382 | 385 |
| 383 // Setup some preconditions. Create a cache with an entry. | 386 // Setup some preconditions. Create a cache with an entry. |
| 384 GURL entry_url("http://blah/entry"); | 387 GURL entry_url("http://blah/entry"); |
| 385 int64 cache_id = storage->NewCacheId(); | 388 int64_t cache_id = storage->NewCacheId(); |
| 386 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); | 389 scoped_refptr<AppCache> cache(new AppCache(service.storage(), cache_id)); |
| 387 cache->AddEntry(entry_url, AppCacheEntry(AppCacheEntry::EXPLICIT)); | 390 cache->AddEntry(entry_url, AppCacheEntry(AppCacheEntry::EXPLICIT)); |
| 388 | 391 |
| 389 // Conduct the test. | 392 // Conduct the test. |
| 390 MockStorageDelegate delegate; | 393 MockStorageDelegate delegate; |
| 391 EXPECT_FALSE(cache->GetEntry(entry_url)->IsForeign()); | 394 EXPECT_FALSE(cache->GetEntry(entry_url)->IsForeign()); |
| 392 storage->MarkEntryAsForeign(entry_url, cache_id); | 395 storage->MarkEntryAsForeign(entry_url, cache_id); |
| 393 EXPECT_TRUE(cache->GetEntry(entry_url)->IsForeign()); | 396 EXPECT_TRUE(cache->GetEntry(entry_url)->IsForeign()); |
| 394 EXPECT_TRUE(cache->GetEntry(entry_url)->IsExplicit()); | 397 EXPECT_TRUE(cache->GetEntry(entry_url)->IsExplicit()); |
| 395 } | 398 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 418 EXPECT_EQ(0, delegate.found_fallback_entry_.types()); | 421 EXPECT_EQ(0, delegate.found_fallback_entry_.types()); |
| 419 } | 422 } |
| 420 | 423 |
| 421 TEST_F(MockAppCacheStorageTest, BasicFindMainResponse) { | 424 TEST_F(MockAppCacheStorageTest, BasicFindMainResponse) { |
| 422 // Should complete asyncly. | 425 // Should complete asyncly. |
| 423 MockAppCacheService service; | 426 MockAppCacheService service; |
| 424 MockAppCacheStorage* storage = | 427 MockAppCacheStorage* storage = |
| 425 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 428 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 426 | 429 |
| 427 // Setup some preconditions. Create a complete cache with an entry. | 430 // Setup some preconditions. Create a complete cache with an entry. |
| 428 const int64 kCacheId = storage->NewCacheId(); | 431 const int64_t kCacheId = storage->NewCacheId(); |
| 429 const GURL kEntryUrl("http://blah/entry"); | 432 const GURL kEntryUrl("http://blah/entry"); |
| 430 const GURL kManifestUrl("http://blah/manifest"); | 433 const GURL kManifestUrl("http://blah/manifest"); |
| 431 const int64 kResponseId = 1; | 434 const int64_t kResponseId = 1; |
| 432 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); | 435 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); |
| 433 cache->AddEntry( | 436 cache->AddEntry( |
| 434 kEntryUrl, AppCacheEntry(AppCacheEntry::EXPLICIT, kResponseId)); | 437 kEntryUrl, AppCacheEntry(AppCacheEntry::EXPLICIT, kResponseId)); |
| 435 cache->set_complete(true); | 438 cache->set_complete(true); |
| 436 scoped_refptr<AppCacheGroup> group( | 439 scoped_refptr<AppCacheGroup> group( |
| 437 new AppCacheGroup(service.storage(), kManifestUrl, 111)); | 440 new AppCacheGroup(service.storage(), kManifestUrl, 111)); |
| 438 group->AddCache(cache.get()); | 441 group->AddCache(cache.get()); |
| 439 storage->AddStoredGroup(group.get()); | 442 storage->AddStoredGroup(group.get()); |
| 440 storage->AddStoredCache(cache.get()); | 443 storage->AddStoredCache(cache.get()); |
| 441 | 444 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 454 } | 457 } |
| 455 | 458 |
| 456 TEST_F(MockAppCacheStorageTest, BasicFindMainFallbackResponse) { | 459 TEST_F(MockAppCacheStorageTest, BasicFindMainFallbackResponse) { |
| 457 // Should complete asyncly. | 460 // Should complete asyncly. |
| 458 MockAppCacheService service; | 461 MockAppCacheService service; |
| 459 MockAppCacheStorage* storage = | 462 MockAppCacheStorage* storage = |
| 460 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 463 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 461 | 464 |
| 462 // Setup some preconditions. Create a complete cache with a | 465 // Setup some preconditions. Create a complete cache with a |
| 463 // fallback namespace and entry. | 466 // fallback namespace and entry. |
| 464 const int64 kCacheId = storage->NewCacheId(); | 467 const int64_t kCacheId = storage->NewCacheId(); |
| 465 const GURL kFallbackEntryUrl1("http://blah/fallback_entry1"); | 468 const GURL kFallbackEntryUrl1("http://blah/fallback_entry1"); |
| 466 const GURL kFallbackNamespaceUrl1("http://blah/fallback_namespace/"); | 469 const GURL kFallbackNamespaceUrl1("http://blah/fallback_namespace/"); |
| 467 const GURL kFallbackEntryUrl2("http://blah/fallback_entry2"); | 470 const GURL kFallbackEntryUrl2("http://blah/fallback_entry2"); |
| 468 const GURL kFallbackNamespaceUrl2("http://blah/fallback_namespace/longer"); | 471 const GURL kFallbackNamespaceUrl2("http://blah/fallback_namespace/longer"); |
| 469 const GURL kManifestUrl("http://blah/manifest"); | 472 const GURL kManifestUrl("http://blah/manifest"); |
| 470 const int64 kResponseId1 = 1; | 473 const int64_t kResponseId1 = 1; |
| 471 const int64 kResponseId2 = 2; | 474 const int64_t kResponseId2 = 2; |
| 472 | 475 |
| 473 AppCacheManifest manifest; | 476 AppCacheManifest manifest; |
| 474 manifest.fallback_namespaces.push_back( | 477 manifest.fallback_namespaces.push_back( |
| 475 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1, | 478 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1, |
| 476 kFallbackEntryUrl1, false)); | 479 kFallbackEntryUrl1, false)); |
| 477 manifest.fallback_namespaces.push_back( | 480 manifest.fallback_namespaces.push_back( |
| 478 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2, | 481 AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2, |
| 479 kFallbackEntryUrl2, false)); | 482 kFallbackEntryUrl2, false)); |
| 480 | 483 |
| 481 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); | 484 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 514 TEST_F(MockAppCacheStorageTest, FindMainResponseWithMultipleCandidates) { | 517 TEST_F(MockAppCacheStorageTest, FindMainResponseWithMultipleCandidates) { |
| 515 // Should complete asyncly. | 518 // Should complete asyncly. |
| 516 MockAppCacheService service; | 519 MockAppCacheService service; |
| 517 MockAppCacheStorage* storage = | 520 MockAppCacheStorage* storage = |
| 518 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 521 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 519 | 522 |
| 520 // Setup some preconditions. Create 2 complete caches with an entry | 523 // Setup some preconditions. Create 2 complete caches with an entry |
| 521 // for the same url. | 524 // for the same url. |
| 522 | 525 |
| 523 const GURL kEntryUrl("http://blah/entry"); | 526 const GURL kEntryUrl("http://blah/entry"); |
| 524 const int64 kCacheId1 = storage->NewCacheId(); | 527 const int64_t kCacheId1 = storage->NewCacheId(); |
| 525 const int64 kCacheId2 = storage->NewCacheId(); | 528 const int64_t kCacheId2 = storage->NewCacheId(); |
| 526 const GURL kManifestUrl1("http://blah/manifest1"); | 529 const GURL kManifestUrl1("http://blah/manifest1"); |
| 527 const GURL kManifestUrl2("http://blah/manifest2"); | 530 const GURL kManifestUrl2("http://blah/manifest2"); |
| 528 const int64 kResponseId1 = 1; | 531 const int64_t kResponseId1 = 1; |
| 529 const int64 kResponseId2 = 2; | 532 const int64_t kResponseId2 = 2; |
| 530 | 533 |
| 531 // The first cache. | 534 // The first cache. |
| 532 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId1)); | 535 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId1)); |
| 533 cache->AddEntry( | 536 cache->AddEntry( |
| 534 kEntryUrl, AppCacheEntry(AppCacheEntry::EXPLICIT, kResponseId1)); | 537 kEntryUrl, AppCacheEntry(AppCacheEntry::EXPLICIT, kResponseId1)); |
| 535 cache->set_complete(true); | 538 cache->set_complete(true); |
| 536 scoped_refptr<AppCacheGroup> group( | 539 scoped_refptr<AppCacheGroup> group( |
| 537 new AppCacheGroup(service.storage(), kManifestUrl1, 111)); | 540 new AppCacheGroup(service.storage(), kManifestUrl1, 111)); |
| 538 group->AddCache(cache.get()); | 541 group->AddCache(cache.get()); |
| 539 storage->AddStoredGroup(group.get()); | 542 storage->AddStoredGroup(group.get()); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 569 | 572 |
| 570 TEST_F(MockAppCacheStorageTest, FindMainResponseExclusions) { | 573 TEST_F(MockAppCacheStorageTest, FindMainResponseExclusions) { |
| 571 // Should complete asyncly. | 574 // Should complete asyncly. |
| 572 MockAppCacheService service; | 575 MockAppCacheService service; |
| 573 MockAppCacheStorage* storage = | 576 MockAppCacheStorage* storage = |
| 574 reinterpret_cast<MockAppCacheStorage*>(service.storage()); | 577 reinterpret_cast<MockAppCacheStorage*>(service.storage()); |
| 575 | 578 |
| 576 // Setup some preconditions. Create a complete cache with a | 579 // Setup some preconditions. Create a complete cache with a |
| 577 // foreign entry and an online namespace. | 580 // foreign entry and an online namespace. |
| 578 | 581 |
| 579 const int64 kCacheId = storage->NewCacheId(); | 582 const int64_t kCacheId = storage->NewCacheId(); |
| 580 const GURL kEntryUrl("http://blah/entry"); | 583 const GURL kEntryUrl("http://blah/entry"); |
| 581 const GURL kManifestUrl("http://blah/manifest"); | 584 const GURL kManifestUrl("http://blah/manifest"); |
| 582 const GURL kOnlineNamespaceUrl("http://blah/online_namespace"); | 585 const GURL kOnlineNamespaceUrl("http://blah/online_namespace"); |
| 583 const int64 kResponseId = 1; | 586 const int64_t kResponseId = 1; |
| 584 | 587 |
| 585 AppCacheManifest manifest; | 588 AppCacheManifest manifest; |
| 586 manifest.online_whitelist_namespaces.push_back( | 589 manifest.online_whitelist_namespaces.push_back( |
| 587 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl, | 590 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl, |
| 588 GURL(), false)); | 591 GURL(), false)); |
| 589 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); | 592 scoped_refptr<AppCache> cache(new AppCache(service.storage(), kCacheId)); |
| 590 cache->InitializeWithManifest(&manifest); | 593 cache->InitializeWithManifest(&manifest); |
| 591 cache->AddEntry( | 594 cache->AddEntry( |
| 592 kEntryUrl, | 595 kEntryUrl, |
| 593 AppCacheEntry(AppCacheEntry::EXPLICIT | AppCacheEntry::FOREIGN, | 596 AppCacheEntry(AppCacheEntry::EXPLICIT | AppCacheEntry::FOREIGN, |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 EXPECT_EQ(kAppCacheNoCacheId, delegate.found_cache_id_); | 629 EXPECT_EQ(kAppCacheNoCacheId, delegate.found_cache_id_); |
| 627 EXPECT_EQ(kAppCacheNoResponseId, delegate.found_entry_.response_id()); | 630 EXPECT_EQ(kAppCacheNoResponseId, delegate.found_entry_.response_id()); |
| 628 EXPECT_EQ(kAppCacheNoResponseId, | 631 EXPECT_EQ(kAppCacheNoResponseId, |
| 629 delegate.found_fallback_entry_.response_id()); | 632 delegate.found_fallback_entry_.response_id()); |
| 630 EXPECT_TRUE(delegate.found_fallback_url_.is_empty()); | 633 EXPECT_TRUE(delegate.found_fallback_url_.is_empty()); |
| 631 EXPECT_EQ(0, delegate.found_entry_.types()); | 634 EXPECT_EQ(0, delegate.found_entry_.types()); |
| 632 EXPECT_EQ(0, delegate.found_fallback_entry_.types()); | 635 EXPECT_EQ(0, delegate.found_fallback_entry_.types()); |
| 633 } | 636 } |
| 634 | 637 |
| 635 } // namespace content | 638 } // namespace content |
| OLD | NEW |