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

Side by Side Diff: content/browser/cache_storage/cache_storage_cache_unittest.cc

Issue 1694213002: CacheStorage: Add ignoreSearch option to cache.delete(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 4 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
OLDNEW
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/cache_storage/cache_storage_cache.h" 5 #include "content/browser/cache_storage/cache_storage_cache.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 loop.Run(); 401 loop.Run();
402 return callback_error_ == CACHE_STORAGE_OK; 402 return callback_error_ == CACHE_STORAGE_OK;
403 } 403 }
404 404
405 bool MatchAll(scoped_ptr<CacheStorageCache::Responses>* responses, 405 bool MatchAll(scoped_ptr<CacheStorageCache::Responses>* responses,
406 scoped_ptr<CacheStorageCache::BlobDataHandles>* body_handles) { 406 scoped_ptr<CacheStorageCache::BlobDataHandles>* body_handles) {
407 return MatchAll(ServiceWorkerFetchRequest(), CacheStorageCacheQueryParams(), 407 return MatchAll(ServiceWorkerFetchRequest(), CacheStorageCacheQueryParams(),
408 responses, body_handles); 408 responses, body_handles);
409 } 409 }
410 410
411 bool Delete(const ServiceWorkerFetchRequest& request) { 411 bool Delete(const ServiceWorkerFetchRequest& request,
412 const CacheStorageCacheQueryParams& match_params =
413 CacheStorageCacheQueryParams()) {
412 CacheStorageBatchOperation operation; 414 CacheStorageBatchOperation operation;
413 operation.operation_type = CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE; 415 operation.operation_type = CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE;
414 operation.request = request; 416 operation.request = request;
417 operation.match_params = match_params;
415 418
416 CacheStorageError error = 419 CacheStorageError error =
417 BatchOperation(std::vector<CacheStorageBatchOperation>(1, operation)); 420 BatchOperation(std::vector<CacheStorageBatchOperation>(1, operation));
418 return error == CACHE_STORAGE_OK; 421 return error == CACHE_STORAGE_OK;
419 } 422 }
420 423
421 bool Keys() { 424 bool Keys() {
422 scoped_ptr<base::RunLoop> loop(new base::RunLoop()); 425 scoped_ptr<base::RunLoop> loop(new base::RunLoop());
423 426
424 cache_->Keys(base::Bind(&CacheStorageCacheTest::RequestsCallback, 427 cache_->Keys(base::Bind(&CacheStorageCacheTest::RequestsCallback,
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
935 EXPECT_TRUE(Put(body_request_, body_response_)); 938 EXPECT_TRUE(Put(body_request_, body_response_));
936 EXPECT_TRUE(Match(body_request_)); 939 EXPECT_TRUE(Match(body_request_));
937 EXPECT_TRUE(Delete(body_request_)); 940 EXPECT_TRUE(Delete(body_request_));
938 EXPECT_FALSE(Match(body_request_)); 941 EXPECT_FALSE(Match(body_request_));
939 EXPECT_FALSE(Delete(body_request_)); 942 EXPECT_FALSE(Delete(body_request_));
940 EXPECT_TRUE(Put(body_request_, body_response_)); 943 EXPECT_TRUE(Put(body_request_, body_response_));
941 EXPECT_TRUE(Match(body_request_)); 944 EXPECT_TRUE(Match(body_request_));
942 EXPECT_TRUE(Delete(body_request_)); 945 EXPECT_TRUE(Delete(body_request_));
943 } 946 }
944 947
948 TEST_P(CacheStorageCacheTestP, DeleteWithIgnoreSearchTrue) {
949 EXPECT_TRUE(Keys());
jkarlin 2016/02/24 18:14:03 This check before the puts is unnecessary
zino 2016/02/24 18:17:58 Done.
950 EXPECT_EQ(0u, callback_strings_.size());
951
952 EXPECT_TRUE(Put(no_body_request_, no_body_response_));
953 EXPECT_TRUE(Put(body_request_, body_response_));
954 EXPECT_TRUE(Put(body_request_with_query_, body_response_with_query_));
955
956 EXPECT_TRUE(Keys());
957 EXPECT_EQ(3u, callback_strings_.size());
958 std::vector<std::string> expected_keys;
959 expected_keys.push_back(no_body_request_.url.spec());
960 expected_keys.push_back(body_request_.url.spec());
961 expected_keys.push_back(body_request_with_query_.url.spec());
962 EXPECT_TRUE(VerifyKeys(expected_keys));
963
964 // The following delete operation will remove both of body_request_ and
965 // body_request_with_query_ from cache storage.
966 CacheStorageCacheQueryParams match_params;
967 match_params.ignore_search = true;
968 EXPECT_TRUE(Delete(body_request_with_query_, match_params));
969
970 EXPECT_TRUE(Keys());
971 EXPECT_EQ(1u, callback_strings_.size());
972 expected_keys.clear();
973 expected_keys.push_back(no_body_request_.url.spec());
974 EXPECT_TRUE(VerifyKeys(expected_keys));
975 }
976
977 TEST_P(CacheStorageCacheTestP, DeleteWithIgnoreSearchFalse) {
978 EXPECT_TRUE(Keys());
979 EXPECT_EQ(0u, callback_strings_.size());
jkarlin 2016/02/24 18:14:03 Ditto
zino 2016/02/24 18:17:58 Done.
980
981 EXPECT_TRUE(Put(no_body_request_, no_body_response_));
982 EXPECT_TRUE(Put(body_request_, body_response_));
983 EXPECT_TRUE(Put(body_request_with_query_, body_response_with_query_));
984
985 EXPECT_TRUE(Keys());
986 EXPECT_EQ(3u, callback_strings_.size());
987 std::vector<std::string> expected_keys;
988 expected_keys.push_back(no_body_request_.url.spec());
989 expected_keys.push_back(body_request_.url.spec());
990 expected_keys.push_back(body_request_with_query_.url.spec());
991 EXPECT_TRUE(VerifyKeys(expected_keys));
992
993 // Default value of ignore_search is false.
994 CacheStorageCacheQueryParams match_params;
995 match_params.ignore_search = false;
996 EXPECT_EQ(match_params.ignore_search,
997 CacheStorageCacheQueryParams().ignore_search);
998
999 EXPECT_TRUE(Delete(body_request_with_query_, match_params));
1000
1001 EXPECT_TRUE(Keys());
1002 EXPECT_EQ(2u, callback_strings_.size());
1003 expected_keys.clear();
1004 expected_keys.push_back(no_body_request_.url.spec());
1005 expected_keys.push_back(body_request_.url.spec());
1006 EXPECT_TRUE(VerifyKeys(expected_keys));
1007 }
1008
945 TEST_P(CacheStorageCacheTestP, QuickStressNoBody) { 1009 TEST_P(CacheStorageCacheTestP, QuickStressNoBody) {
946 for (int i = 0; i < 100; ++i) { 1010 for (int i = 0; i < 100; ++i) {
947 EXPECT_FALSE(Match(no_body_request_)); 1011 EXPECT_FALSE(Match(no_body_request_));
948 EXPECT_TRUE(Put(no_body_request_, no_body_response_)); 1012 EXPECT_TRUE(Put(no_body_request_, no_body_response_));
949 EXPECT_TRUE(Match(no_body_request_)); 1013 EXPECT_TRUE(Match(no_body_request_));
950 EXPECT_TRUE(Delete(no_body_request_)); 1014 EXPECT_TRUE(Delete(no_body_request_));
951 } 1015 }
952 } 1016 }
953 1017
954 TEST_P(CacheStorageCacheTestP, QuickStressBody) { 1018 TEST_P(CacheStorageCacheTestP, QuickStressBody) {
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 EXPECT_EQ(1, sequence_out); 1173 EXPECT_EQ(1, sequence_out);
1110 close_loop2->Run(); 1174 close_loop2->Run();
1111 EXPECT_EQ(2, sequence_out); 1175 EXPECT_EQ(2, sequence_out);
1112 } 1176 }
1113 1177
1114 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest, 1178 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest,
1115 CacheStorageCacheTestP, 1179 CacheStorageCacheTestP,
1116 ::testing::Values(false, true)); 1180 ::testing::Values(false, true));
1117 1181
1118 } // namespace content 1182 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698