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

Unified Diff: content/browser/cache_storage/cache_storage_cache_unittest.cc

Issue 2204683002: Cache API should not match() HEAD requests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: HEAD -> Head Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/cache_storage/cache_storage_cache_unittest.cc
diff --git a/content/browser/cache_storage/cache_storage_cache_unittest.cc b/content/browser/cache_storage/cache_storage_cache_unittest.cc
index 60961052a85f4fe3b676fa8959e8a053b29b482d..1de9c9eeecac1116cabdd1e2ee760e190db83f89 100644
--- a/content/browser/cache_storage/cache_storage_cache_unittest.cc
+++ b/content/browser/cache_storage/cache_storage_cache_unittest.cc
@@ -384,6 +384,9 @@ class CacheStorageCacheTest : public testing::Test {
no_body_request_ =
ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"),
"GET", headers, Referrer(), false);
+ body_head_request_ =
+ ServiceWorkerFetchRequest(GURL("http://example.com/body.html"), "HEAD",
+ headers, Referrer(), false);
std::string expected_response;
for (int i = 0; i < 100; ++i)
@@ -692,6 +695,7 @@ class CacheStorageCacheTest : public testing::Test {
ServiceWorkerResponse body_response_with_query_;
ServiceWorkerFetchRequest no_body_request_;
ServiceWorkerResponse no_body_response_;
+ ServiceWorkerFetchRequest body_head_request_;
std::unique_ptr<storage::BlobDataHandle> blob_handle_;
std::string expected_blob_data_;
@@ -805,7 +809,7 @@ TEST_P(CacheStorageCacheTestP, PutReplace) {
EXPECT_FALSE(callback_response_data_);
}
-TEST_P(CacheStorageCacheTestP, PutReplcaceInBatch) {
+TEST_P(CacheStorageCacheTestP, PutReplaceInBatch) {
CacheStorageBatchOperation operation1;
operation1.operation_type = CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT;
operation1.request = body_request_;
@@ -844,6 +848,11 @@ TEST_P(CacheStorageCacheTestP, MatchBody) {
ResponseBodiesEqual(expected_blob_data_, *callback_response_data_));
}
+TEST_P(CacheStorageCacheTestP, MatchBodyHead) {
+ EXPECT_TRUE(Put(body_request_, body_response_));
+ EXPECT_FALSE(Match(body_head_request_));
+}
+
TEST_P(CacheStorageCacheTestP, MatchAll_Empty) {
std::unique_ptr<CacheStorageCache::Responses> responses;
std::unique_ptr<CacheStorageCache::BlobDataHandles> body_handles;
@@ -948,6 +957,28 @@ TEST_P(CacheStorageCacheTestP, MatchAll_IgnoreSearch) {
EXPECT_EQ(2u, matched_set.size());
}
+TEST_P(CacheStorageCacheTestP, MatchAll_Head) {
+ EXPECT_TRUE(Put(body_request_, body_response_));
+
+ std::unique_ptr<CacheStorageCache::Responses> responses;
+ std::unique_ptr<CacheStorageCache::BlobDataHandles> body_handles;
+ CacheStorageCacheQueryParams match_params;
+ match_params.ignore_search = true;
+ EXPECT_TRUE(
+ MatchAll(body_head_request_, match_params, &responses, &body_handles));
+ EXPECT_TRUE(responses->empty());
+ EXPECT_TRUE(body_handles->empty());
+
+ match_params.ignore_method = true;
+ EXPECT_TRUE(
+ MatchAll(body_head_request_, match_params, &responses, &body_handles));
+ ASSERT_EQ(1u, responses->size());
+ ASSERT_EQ(1u, body_handles->size());
+ EXPECT_TRUE(
+ ResponseMetadataEqual(SetCacheName(body_response_), responses->at(0)));
+ EXPECT_TRUE(ResponseBodiesEqual(expected_blob_data_, body_handles->at(0)));
+}
+
TEST_P(CacheStorageCacheTestP, Vary) {
body_request_.headers["vary_foo"] = "foo";
body_response_.headers["vary"] = "vary_foo";

Powered by Google App Engine
This is Rietveld 408576698