Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
| 6 #include "base/file_util.h" | 6 #include "base/file_util.h" |
| 7 #include "base/string_util.h" | 7 #include "base/string_util.h" |
| 8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
| 9 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" | 9 #include "base/third_party/dynamic_annotations/dynamic_annotations.h" |
| 10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 131 TEST_F(DiskCacheBackendTest, MemoryOnlyBasics) { | 131 TEST_F(DiskCacheBackendTest, MemoryOnlyBasics) { |
| 132 SetMemoryOnlyMode(); | 132 SetMemoryOnlyMode(); |
| 133 BackendBasics(); | 133 BackendBasics(); |
| 134 } | 134 } |
| 135 | 135 |
| 136 TEST_F(DiskCacheBackendTest, AppCacheBasics) { | 136 TEST_F(DiskCacheBackendTest, AppCacheBasics) { |
| 137 SetCacheType(net::APP_CACHE); | 137 SetCacheType(net::APP_CACHE); |
| 138 BackendBasics(); | 138 BackendBasics(); |
| 139 } | 139 } |
| 140 | 140 |
| 141 TEST_F(DiskCacheBackendTest, ShaderCacheBasics) { | |
| 142 SetCacheType(net::SHADER_CACHE); | |
| 143 BackendBasics(); | |
| 144 } | |
| 145 | |
| 141 void DiskCacheBackendTest::BackendKeying() { | 146 void DiskCacheBackendTest::BackendKeying() { |
| 142 InitCache(); | 147 InitCache(); |
| 143 const char* kName1 = "the first key"; | 148 const char* kName1 = "the first key"; |
| 144 const char* kName2 = "the first Key"; | 149 const char* kName2 = "the first Key"; |
| 145 disk_cache::Entry *entry1, *entry2; | 150 disk_cache::Entry *entry1, *entry2; |
| 146 ASSERT_EQ(net::OK, CreateEntry(kName1, &entry1)); | 151 ASSERT_EQ(net::OK, CreateEntry(kName1, &entry1)); |
| 147 | 152 |
| 148 ASSERT_EQ(net::OK, CreateEntry(kName2, &entry2)); | 153 ASSERT_EQ(net::OK, CreateEntry(kName2, &entry2)); |
| 149 EXPECT_TRUE(entry1 != entry2) << "Case sensitive"; | 154 EXPECT_TRUE(entry1 != entry2) << "Case sensitive"; |
| 150 entry2->Close(); | 155 entry2->Close(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 191 TEST_F(DiskCacheBackendTest, MemoryOnlyKeying) { | 196 TEST_F(DiskCacheBackendTest, MemoryOnlyKeying) { |
| 192 SetMemoryOnlyMode(); | 197 SetMemoryOnlyMode(); |
| 193 BackendKeying(); | 198 BackendKeying(); |
| 194 } | 199 } |
| 195 | 200 |
| 196 TEST_F(DiskCacheBackendTest, AppCacheKeying) { | 201 TEST_F(DiskCacheBackendTest, AppCacheKeying) { |
| 197 SetCacheType(net::APP_CACHE); | 202 SetCacheType(net::APP_CACHE); |
| 198 BackendKeying(); | 203 BackendKeying(); |
| 199 } | 204 } |
| 200 | 205 |
| 206 TEST_F(DiskCacheBackendTest, ShaderCacheKeying) { | |
| 207 SetCacheType(net::SHADER_CACHE); | |
| 208 BackendKeying(); | |
| 209 } | |
| 210 | |
| 201 TEST_F(DiskCacheTest, CreateBackend) { | 211 TEST_F(DiskCacheTest, CreateBackend) { |
| 202 net::TestCompletionCallback cb; | 212 net::TestCompletionCallback cb; |
| 203 | 213 |
| 204 { | 214 { |
| 205 ASSERT_TRUE(CleanupCacheDir()); | 215 ASSERT_TRUE(CleanupCacheDir()); |
| 206 base::Thread cache_thread("CacheThread"); | 216 base::Thread cache_thread("CacheThread"); |
| 207 ASSERT_TRUE(cache_thread.StartWithOptions( | 217 ASSERT_TRUE(cache_thread.StartWithOptions( |
| 208 base::Thread::Options(MessageLoop::TYPE_IO, 0))); | 218 base::Thread::Options(MessageLoop::TYPE_IO, 0))); |
| 209 | 219 |
| 210 // Test the private factory methods. | 220 // Test the private factory methods. |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 584 } | 594 } |
| 585 | 595 |
| 586 TEST_F(DiskCacheBackendTest, AppCacheLoad) { | 596 TEST_F(DiskCacheBackendTest, AppCacheLoad) { |
| 587 SetCacheType(net::APP_CACHE); | 597 SetCacheType(net::APP_CACHE); |
| 588 // Work with a tiny index table (16 entries) | 598 // Work with a tiny index table (16 entries) |
| 589 SetMask(0xf); | 599 SetMask(0xf); |
| 590 SetMaxSize(0x100000); | 600 SetMaxSize(0x100000); |
| 591 BackendLoad(); | 601 BackendLoad(); |
| 592 } | 602 } |
| 593 | 603 |
| 604 TEST_F(DiskCacheBackendTest, ShaderCacheLoad) { | |
| 605 SetCacheType(net::SHADER_CACHE); | |
| 606 // Work with a tiny index table (16 entries) | |
| 607 SetMask(0xf); | |
| 608 SetMaxSize(0x100000); | |
| 609 BackendLoad(); | |
| 610 } | |
| 611 | |
| 594 // Tests the chaining of an entry to the current head. | 612 // Tests the chaining of an entry to the current head. |
| 595 void DiskCacheBackendTest::BackendChain() { | 613 void DiskCacheBackendTest::BackendChain() { |
| 596 SetMask(0x1); // 2-entry table. | 614 SetMask(0x1); // 2-entry table. |
| 597 SetMaxSize(0x3000); // 12 kB. | 615 SetMaxSize(0x3000); // 12 kB. |
| 598 InitCache(); | 616 InitCache(); |
| 599 | 617 |
| 600 disk_cache::Entry* entry; | 618 disk_cache::Entry* entry; |
| 601 ASSERT_EQ(net::OK, CreateEntry("The first key", &entry)); | 619 ASSERT_EQ(net::OK, CreateEntry("The first key", &entry)); |
| 602 entry->Close(); | 620 entry->Close(); |
| 603 ASSERT_EQ(net::OK, CreateEntry("The Second key", &entry)); | 621 ASSERT_EQ(net::OK, CreateEntry("The Second key", &entry)); |
| 604 entry->Close(); | 622 entry->Close(); |
| 605 } | 623 } |
| 606 | 624 |
| 607 TEST_F(DiskCacheBackendTest, Chain) { | 625 TEST_F(DiskCacheBackendTest, Chain) { |
| 608 BackendChain(); | 626 BackendChain(); |
| 609 } | 627 } |
| 610 | 628 |
| 611 TEST_F(DiskCacheBackendTest, NewEvictionChain) { | 629 TEST_F(DiskCacheBackendTest, NewEvictionChain) { |
| 612 SetNewEviction(); | 630 SetNewEviction(); |
| 613 BackendChain(); | 631 BackendChain(); |
| 614 } | 632 } |
| 615 | 633 |
| 616 TEST_F(DiskCacheBackendTest, AppCacheChain) { | 634 TEST_F(DiskCacheBackendTest, AppCacheChain) { |
| 617 SetCacheType(net::APP_CACHE); | 635 SetCacheType(net::APP_CACHE); |
| 618 BackendChain(); | 636 BackendChain(); |
| 619 } | 637 } |
| 620 | 638 |
| 639 TEST_F(DiskCacheBackendTest, ShaderCacheChain) { | |
| 640 SetCacheType(net::SHADER_CACHE); | |
| 641 BackendChain(); | |
| 642 } | |
| 643 | |
| 621 TEST_F(DiskCacheBackendTest, NewEvictionTrim) { | 644 TEST_F(DiskCacheBackendTest, NewEvictionTrim) { |
| 622 SetNewEviction(); | 645 SetNewEviction(); |
| 623 SetDirectMode(); | 646 SetDirectMode(); |
| 624 InitCache(); | 647 InitCache(); |
| 625 | 648 |
| 626 disk_cache::Entry* entry; | 649 disk_cache::Entry* entry; |
| 627 for (int i = 0; i < 100; i++) { | 650 for (int i = 0; i < 100; i++) { |
| 628 std::string name(StringPrintf("Key %d", i)); | 651 std::string name(StringPrintf("Key %d", i)); |
| 629 ASSERT_EQ(net::OK, CreateEntry(name, &entry)); | 652 ASSERT_EQ(net::OK, CreateEntry(name, &entry)); |
| 630 entry->Close(); | 653 entry->Close(); |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 721 SetNewEviction(); | 744 SetNewEviction(); |
| 722 BackendInvalidEntry(); | 745 BackendInvalidEntry(); |
| 723 } | 746 } |
| 724 | 747 |
| 725 // We'll be leaking memory from this test. | 748 // We'll be leaking memory from this test. |
| 726 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntry) { | 749 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntry) { |
| 727 SetCacheType(net::APP_CACHE); | 750 SetCacheType(net::APP_CACHE); |
| 728 BackendInvalidEntry(); | 751 BackendInvalidEntry(); |
| 729 } | 752 } |
| 730 | 753 |
| 754 // We'll be leaking memory from this test. | |
| 755 TEST_F(DiskCacheBackendTest, ShaderCacheInvalidEntry) { | |
| 756 SetCacheType(net::SHADER_CACHE); | |
| 757 BackendInvalidEntry(); | |
| 758 } | |
| 759 | |
| 731 // Almost the same test, but this time crash the cache after reading an entry. | 760 // Almost the same test, but this time crash the cache after reading an entry. |
| 732 // We'll be leaking memory from this test. | 761 // We'll be leaking memory from this test. |
| 733 void DiskCacheBackendTest::BackendInvalidEntryRead() { | 762 void DiskCacheBackendTest::BackendInvalidEntryRead() { |
| 734 // Use the implementation directly... we need to simulate a crash. | 763 // Use the implementation directly... we need to simulate a crash. |
| 735 SetDirectMode(); | 764 SetDirectMode(); |
| 736 InitCache(); | 765 InitCache(); |
| 737 | 766 |
| 738 std::string key("Some key"); | 767 std::string key("Some key"); |
| 739 disk_cache::Entry* entry; | 768 disk_cache::Entry* entry; |
| 740 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); | 769 ASSERT_EQ(net::OK, CreateEntry(key, &entry)); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 772 BackendInvalidEntryRead(); | 801 BackendInvalidEntryRead(); |
| 773 } | 802 } |
| 774 | 803 |
| 775 // We'll be leaking memory from this test. | 804 // We'll be leaking memory from this test. |
| 776 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntryRead) { | 805 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntryRead) { |
| 777 SetCacheType(net::APP_CACHE); | 806 SetCacheType(net::APP_CACHE); |
| 778 BackendInvalidEntryRead(); | 807 BackendInvalidEntryRead(); |
| 779 } | 808 } |
| 780 | 809 |
| 781 // We'll be leaking memory from this test. | 810 // We'll be leaking memory from this test. |
| 811 TEST_F(DiskCacheBackendTest, ShaderCacheInvalidEntryRead) { | |
| 812 SetCacheType(net::SHADER_CACHE); | |
| 813 BackendInvalidEntryRead(); | |
| 814 } | |
| 815 | |
| 816 // We'll be leaking memory from this test. | |
| 782 void DiskCacheBackendTest::BackendInvalidEntryWithLoad() { | 817 void DiskCacheBackendTest::BackendInvalidEntryWithLoad() { |
| 783 // Work with a tiny index table (16 entries) | 818 // Work with a tiny index table (16 entries) |
| 784 SetMask(0xf); | 819 SetMask(0xf); |
| 785 SetMaxSize(0x100000); | 820 SetMaxSize(0x100000); |
| 786 InitCache(); | 821 InitCache(); |
| 787 | 822 |
| 788 int seed = static_cast<int>(Time::Now().ToInternalValue()); | 823 int seed = static_cast<int>(Time::Now().ToInternalValue()); |
| 789 srand(seed); | 824 srand(seed); |
| 790 | 825 |
| 791 const int kNumEntries = 100; | 826 const int kNumEntries = 100; |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 838 BackendInvalidEntryWithLoad(); | 873 BackendInvalidEntryWithLoad(); |
| 839 } | 874 } |
| 840 | 875 |
| 841 // We'll be leaking memory from this test. | 876 // We'll be leaking memory from this test. |
| 842 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntryWithLoad) { | 877 TEST_F(DiskCacheBackendTest, AppCacheInvalidEntryWithLoad) { |
| 843 SetCacheType(net::APP_CACHE); | 878 SetCacheType(net::APP_CACHE); |
| 844 BackendInvalidEntryWithLoad(); | 879 BackendInvalidEntryWithLoad(); |
| 845 } | 880 } |
| 846 | 881 |
| 847 // We'll be leaking memory from this test. | 882 // We'll be leaking memory from this test. |
| 883 TEST_F(DiskCacheBackendTest, ShaderCacheInvalidEntryWithLoad) { | |
| 884 SetCacheType(net::SHADER_CACHE); | |
| 885 BackendInvalidEntryWithLoad(); | |
| 886 } | |
| 887 | |
| 888 // We'll be leaking memory from this test. | |
| 848 void DiskCacheBackendTest::BackendTrimInvalidEntry() { | 889 void DiskCacheBackendTest::BackendTrimInvalidEntry() { |
| 849 // Use the implementation directly... we need to simulate a crash. | 890 // Use the implementation directly... we need to simulate a crash. |
| 850 SetDirectMode(); | 891 SetDirectMode(); |
| 851 | 892 |
| 852 const int kSize = 0x3000; // 12 kB | 893 const int kSize = 0x3000; // 12 kB |
| 853 SetMaxSize(kSize * 10); | 894 SetMaxSize(kSize * 10); |
| 854 InitCache(); | 895 InitCache(); |
| 855 | 896 |
| 856 std::string first("some key"); | 897 std::string first("some key"); |
| 857 std::string second("something else"); | 898 std::string second("something else"); |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1020 TEST_F(DiskCacheBackendTest, NewEvictionEnumerations) { | 1061 TEST_F(DiskCacheBackendTest, NewEvictionEnumerations) { |
| 1021 SetNewEviction(); | 1062 SetNewEviction(); |
| 1022 BackendEnumerations(); | 1063 BackendEnumerations(); |
| 1023 } | 1064 } |
| 1024 | 1065 |
| 1025 TEST_F(DiskCacheBackendTest, MemoryOnlyEnumerations) { | 1066 TEST_F(DiskCacheBackendTest, MemoryOnlyEnumerations) { |
| 1026 SetMemoryOnlyMode(); | 1067 SetMemoryOnlyMode(); |
| 1027 BackendEnumerations(); | 1068 BackendEnumerations(); |
| 1028 } | 1069 } |
| 1029 | 1070 |
| 1071 TEST_F(DiskCacheBackendTest, ShaderCacheEnumerations) { | |
| 1072 SetCacheType(net::SHADER_CACHE); | |
| 1073 BackendEnumerations(); | |
| 1074 } | |
| 1075 | |
| 1030 TEST_F(DiskCacheBackendTest, AppCacheEnumerations) { | 1076 TEST_F(DiskCacheBackendTest, AppCacheEnumerations) { |
| 1031 SetCacheType(net::APP_CACHE); | 1077 SetCacheType(net::APP_CACHE); |
| 1032 BackendEnumerations(); | 1078 BackendEnumerations(); |
| 1033 } | 1079 } |
| 1034 | 1080 |
| 1035 // Verifies enumerations while entries are open. | 1081 // Verifies enumerations while entries are open. |
| 1036 void DiskCacheBackendTest::BackendEnumerations2() { | 1082 void DiskCacheBackendTest::BackendEnumerations2() { |
| 1037 InitCache(); | 1083 InitCache(); |
| 1038 const std::string first("first"); | 1084 const std::string first("first"); |
| 1039 const std::string second("second"); | 1085 const std::string second("second"); |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1089 TEST_F(DiskCacheBackendTest, MemoryOnlyEnumerations2) { | 1135 TEST_F(DiskCacheBackendTest, MemoryOnlyEnumerations2) { |
| 1090 SetMemoryOnlyMode(); | 1136 SetMemoryOnlyMode(); |
| 1091 BackendEnumerations2(); | 1137 BackendEnumerations2(); |
| 1092 } | 1138 } |
| 1093 | 1139 |
| 1094 TEST_F(DiskCacheBackendTest, AppCacheEnumerations2) { | 1140 TEST_F(DiskCacheBackendTest, AppCacheEnumerations2) { |
| 1095 SetCacheType(net::APP_CACHE); | 1141 SetCacheType(net::APP_CACHE); |
| 1096 BackendEnumerations2(); | 1142 BackendEnumerations2(); |
| 1097 } | 1143 } |
| 1098 | 1144 |
| 1145 TEST_F(DiskCacheBackendTest, ShaderCacheEnumerations2) { | |
| 1146 SetCacheType(net::SHADER_CACHE); | |
| 1147 BackendEnumerations2(); | |
| 1148 } | |
| 1149 | |
| 1150 TEST_F(DiskCacheBackendTest, ShaderCacheEnumerationReadData) { | |
|
rvargas (doing something else)
2013/02/06 20:06:39
nit: add a comment saying what is this about (veri
dsinclair
2013/02/07 18:03:07
Done.
| |
| 1151 SetCacheType(net::SHADER_CACHE); | |
| 1152 InitCache(); | |
| 1153 const std::string first("first"); | |
| 1154 const std::string second("second"); | |
| 1155 disk_cache::Entry *entry1, *entry2; | |
| 1156 const int kSize = 50; | |
| 1157 scoped_refptr<net::IOBuffer> buffer1(new net::IOBuffer(kSize)); | |
| 1158 | |
| 1159 ASSERT_EQ(net::OK, CreateEntry(first, &entry1)); | |
| 1160 memset(buffer1->data(), 0, kSize); | |
| 1161 base::strlcpy(buffer1->data(), "And the data to save", kSize); | |
| 1162 EXPECT_EQ(kSize, WriteData(entry1, 0, 0, buffer1, kSize, false)); | |
| 1163 entry1->Close(); | |
| 1164 | |
| 1165 ASSERT_EQ(net::OK, CreateEntry(second, &entry2)); | |
| 1166 entry2->Close(); | |
| 1167 FlushQueueForTest(); | |
| 1168 | |
| 1169 // Make sure that the timestamp is not the same. | |
| 1170 AddDelay(); | |
| 1171 ASSERT_EQ(net::OK, OpenEntry(second, &entry1)); | |
| 1172 void* iter = NULL; | |
| 1173 ASSERT_EQ(net::OK, OpenNextEntry(&iter, &entry2)); | |
| 1174 EXPECT_EQ(entry2->GetKey(), second); | |
| 1175 | |
| 1176 // Two entries and the iterator pointing at "first". | |
|
rvargas (doing something else)
2013/02/06 20:06:39
The iterator points at "second"
dsinclair
2013/02/07 18:03:07
Simplified the test case, should be more readable
| |
| 1177 entry1->Close(); | |
| 1178 entry2->Close(); | |
| 1179 cache_->EndEnumeration(&iter); | |
| 1180 | |
| 1181 // Read the oldest entry and get the newest element. | |
| 1182 ASSERT_EQ(net::OK, OpenEntry(first, &entry1)); | |
| 1183 EXPECT_EQ(kSize, ReadData(entry1, 0, 0, buffer1, kSize)); | |
| 1184 | |
| 1185 ASSERT_EQ(net::OK, OpenNextEntry(&iter, &entry2)); | |
| 1186 | |
| 1187 // The list is not updated. | |
| 1188 EXPECT_EQ(entry2->GetKey(), second); | |
| 1189 | |
| 1190 entry1->Close(); | |
| 1191 entry2->Close(); | |
| 1192 cache_->EndEnumeration(&iter); | |
| 1193 } | |
| 1194 | |
| 1099 // Verify handling of invalid entries while doing enumerations. | 1195 // Verify handling of invalid entries while doing enumerations. |
| 1100 // We'll be leaking memory from this test. | 1196 // We'll be leaking memory from this test. |
| 1101 void DiskCacheBackendTest::BackendInvalidEntryEnumeration() { | 1197 void DiskCacheBackendTest::BackendInvalidEntryEnumeration() { |
| 1102 // Use the implementation directly... we need to simulate a crash. | 1198 // Use the implementation directly... we need to simulate a crash. |
| 1103 SetDirectMode(); | 1199 SetDirectMode(); |
| 1104 InitCache(); | 1200 InitCache(); |
| 1105 | 1201 |
| 1106 std::string key("Some key"); | 1202 std::string key("Some key"); |
| 1107 disk_cache::Entry *entry, *entry1, *entry2; | 1203 disk_cache::Entry *entry, *entry1, *entry2; |
| 1108 ASSERT_EQ(net::OK, CreateEntry(key, &entry1)); | 1204 ASSERT_EQ(net::OK, CreateEntry(key, &entry1)); |
| (...skipping 1208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2317 TEST_F(DiskCacheBackendTest, MemoryOnlyDoomAll) { | 2413 TEST_F(DiskCacheBackendTest, MemoryOnlyDoomAll) { |
| 2318 SetMemoryOnlyMode(); | 2414 SetMemoryOnlyMode(); |
| 2319 BackendDoomAll(); | 2415 BackendDoomAll(); |
| 2320 } | 2416 } |
| 2321 | 2417 |
| 2322 TEST_F(DiskCacheBackendTest, AppCacheOnlyDoomAll) { | 2418 TEST_F(DiskCacheBackendTest, AppCacheOnlyDoomAll) { |
| 2323 SetCacheType(net::APP_CACHE); | 2419 SetCacheType(net::APP_CACHE); |
| 2324 BackendDoomAll(); | 2420 BackendDoomAll(); |
| 2325 } | 2421 } |
| 2326 | 2422 |
| 2423 TEST_F(DiskCacheBackendTest, ShaderCacheOnlyDoomAll) { | |
| 2424 SetCacheType(net::SHADER_CACHE); | |
| 2425 BackendDoomAll(); | |
| 2426 } | |
| 2427 | |
| 2327 // If the index size changes when we doom the cache, we should not crash. | 2428 // If the index size changes when we doom the cache, we should not crash. |
| 2328 void DiskCacheBackendTest::BackendDoomAll2() { | 2429 void DiskCacheBackendTest::BackendDoomAll2() { |
| 2329 EXPECT_EQ(2, cache_->GetEntryCount()); | 2430 EXPECT_EQ(2, cache_->GetEntryCount()); |
| 2330 EXPECT_EQ(net::OK, DoomAllEntries()); | 2431 EXPECT_EQ(net::OK, DoomAllEntries()); |
| 2331 | 2432 |
| 2332 disk_cache::Entry* entry; | 2433 disk_cache::Entry* entry; |
| 2333 ASSERT_EQ(net::OK, CreateEntry("Something new", &entry)); | 2434 ASSERT_EQ(net::OK, CreateEntry("Something new", &entry)); |
| 2334 entry->Close(); | 2435 entry->Close(); |
| 2335 | 2436 |
| 2336 EXPECT_EQ(1, cache_->GetEntryCount()); | 2437 EXPECT_EQ(1, cache_->GetEntryCount()); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2568 // Ping the oldest entry. | 2669 // Ping the oldest entry. |
| 2569 cache_->OnExternalCacheHit("key0"); | 2670 cache_->OnExternalCacheHit("key0"); |
| 2570 | 2671 |
| 2571 TrimForTest(false); | 2672 TrimForTest(false); |
| 2572 | 2673 |
| 2573 // Make sure the older key remains. | 2674 // Make sure the older key remains. |
| 2574 EXPECT_EQ(1, cache_->GetEntryCount()); | 2675 EXPECT_EQ(1, cache_->GetEntryCount()); |
| 2575 ASSERT_EQ(net::OK, OpenEntry("key0", &entry)); | 2676 ASSERT_EQ(net::OK, OpenEntry("key0", &entry)); |
| 2576 entry->Close(); | 2677 entry->Close(); |
| 2577 } | 2678 } |
| OLD | NEW |