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

Side by Side Diff: Source/core/fetch/MemoryCacheTest.cpp

Issue 164333008: Make MemoryCache's LRUList manipulation private (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/fetch/MemoryCache.cpp ('k') | Source/core/fetch/Resource.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013, Google Inc. All rights reserved. 2 * Copyright (c) 2013, Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 ASSERT_EQ(memoryCache()->deadSize(), 0u); 280 ASSERT_EQ(memoryCache()->deadSize(), 0u);
281 ASSERT_EQ(memoryCache()->liveSize(), resource1->size() + resource2->size()); 281 ASSERT_EQ(memoryCache()->liveSize(), resource1->size() + resource2->size());
282 282
283 // Removing the client from resource1 should result in all resources 283 // Removing the client from resource1 should result in all resources
284 // remaining in cache since the prune is deferred. 284 // remaining in cache since the prune is deferred.
285 resource1->removeClient(&client1); 285 resource1->removeClient(&client1);
286 ASSERT_GT(resource1->decodedSize(), 0u); 286 ASSERT_GT(resource1->decodedSize(), 0u);
287 ASSERT_GT(resource2->decodedSize(), 0u); 287 ASSERT_GT(resource2->decodedSize(), 0u);
288 ASSERT_EQ(memoryCache()->deadSize(), resource1->size()); 288 ASSERT_EQ(memoryCache()->deadSize(), resource1->size());
289 ASSERT_EQ(memoryCache()->liveSize(), resource2->size()); 289 ASSERT_EQ(memoryCache()->liveSize(), resource2->size());
290 ASSERT_TRUE(resource1->inCache()); 290 ASSERT_TRUE(memoryCache()->contains(resource1.get()));
291 ASSERT_TRUE(resource2->inCache()); 291 ASSERT_TRUE(memoryCache()->contains(resource2.get()));
292 292
293 // Removing the client from resource2 should result in immediate 293 // Removing the client from resource2 should result in immediate
294 // eviction of resource2 because we are over the prune deferral limit. 294 // eviction of resource2 because we are over the prune deferral limit.
295 resource2->removeClient(&client2); 295 resource2->removeClient(&client2);
296 ASSERT_GT(resource1->decodedSize(), 0u); 296 ASSERT_GT(resource1->decodedSize(), 0u);
297 ASSERT_GT(resource2->decodedSize(), 0u); 297 ASSERT_GT(resource2->decodedSize(), 0u);
298 ASSERT_EQ(memoryCache()->deadSize(), resource1->size()); 298 ASSERT_EQ(memoryCache()->deadSize(), resource1->size());
299 ASSERT_EQ(memoryCache()->liveSize(), 0u); 299 ASSERT_EQ(memoryCache()->liveSize(), 0u);
300 ASSERT_TRUE(resource1->inCache()); 300 ASSERT_TRUE(memoryCache()->contains(resource1.get()));
301 ASSERT_FALSE(resource2->inCache()); 301 ASSERT_FALSE(memoryCache()->contains(resource2.get()));
302 } 302 }
303 303
304 // Verifies that CachedResources are evicted from the decode cache 304 // Verifies that CachedResources are evicted from the decode cache
305 // according to their DecodeCachePriority. 305 // according to their DecodeCachePriority.
306 TEST_F(MemoryCacheTest, DecodeCacheOrder) 306 TEST_F(MemoryCacheTest, DecodeCacheOrder)
307 { 307 {
308 memoryCache()->setDelayBeforeLiveDecodedPrune(0); 308 memoryCache()->setDelayBeforeLiveDecodedPrune(0);
309 memoryCache()->setMaxPruneDeferralDelay(0); 309 memoryCache()->setMaxPruneDeferralDelay(0);
310 ResourcePtr<FakeDecodedResource> cachedImageLowPriority = 310 ResourcePtr<FakeDecodedResource> cachedImageLowPriority =
311 new FakeDecodedResource(ResourceRequest("http://foo.com"), Resource::Raw ); 311 new FakeDecodedResource(ResourceRequest("http://foo.com"), Resource::Raw );
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 memoryCache()->setCapacities(memoryCache()->minDeadCapacity(), memoryCache() ->liveSize() - 10, memoryCache()->liveSize() - 10); 364 memoryCache()->setCapacities(memoryCache()->minDeadCapacity(), memoryCache() ->liveSize() - 10, memoryCache()->liveSize() - 10);
365 memoryCache()->prune(); 365 memoryCache()->prune();
366 ASSERT_EQ(memoryCache()->deadSize(), 0u); 366 ASSERT_EQ(memoryCache()->deadSize(), 0u);
367 ASSERT_EQ(memoryCache()->liveSize(), totalSize - lowPriorityMockDecodeSize - highPriorityMockDecodeSize); 367 ASSERT_EQ(memoryCache()->liveSize(), totalSize - lowPriorityMockDecodeSize - highPriorityMockDecodeSize);
368 } 368 }
369 369
370 TEST_F(MemoryCacheTest, MultipleReplace) 370 TEST_F(MemoryCacheTest, MultipleReplace)
371 { 371 {
372 ResourcePtr<FakeResource> resource1 = new FakeResource(ResourceRequest(""), Resource::Raw); 372 ResourcePtr<FakeResource> resource1 = new FakeResource(ResourceRequest(""), Resource::Raw);
373 memoryCache()->add(resource1.get()); 373 memoryCache()->add(resource1.get());
374 EXPECT_EQ(1U, resource1->accessCount());
375 374
376 ResourcePtr<FakeResource> resource2 = new FakeResource(ResourceRequest(""), Resource::Raw); 375 ResourcePtr<FakeResource> resource2 = new FakeResource(ResourceRequest(""), Resource::Raw);
377 memoryCache()->replace(resource2.get(), resource1.get()); 376 memoryCache()->replace(resource2.get(), resource1.get());
378 EXPECT_TRUE(resource2->inCache()); 377 EXPECT_TRUE(memoryCache()->contains(resource2.get()));
379 EXPECT_FALSE(resource1->inCache()); 378 EXPECT_FALSE(memoryCache()->contains(resource1.get()));
380 EXPECT_EQ(0U, resource2->accessCount());
381 379
382 ResourcePtr<FakeResource> resource3 = new FakeResource(ResourceRequest(""), Resource::Raw); 380 ResourcePtr<FakeResource> resource3 = new FakeResource(ResourceRequest(""), Resource::Raw);
383 memoryCache()->replace(resource3.get(), resource2.get()); 381 memoryCache()->replace(resource3.get(), resource2.get());
384 EXPECT_TRUE(resource3->inCache()); 382 EXPECT_TRUE(memoryCache()->contains(resource3.get()));
385 EXPECT_FALSE(resource2->inCache()); 383 EXPECT_FALSE(memoryCache()->contains(resource2.get()));
386 EXPECT_EQ(0U, resource3->accessCount());
387 } 384 }
388 385
389 } // namespace 386 } // namespace
OLDNEW
« no previous file with comments | « Source/core/fetch/MemoryCache.cpp ('k') | Source/core/fetch/Resource.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698