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

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

Issue 1965013002: Implement headers attributes in ForeignFetchResponse (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: using instead of typedef Created 4 years, 7 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 9
10 #include <memory> 10 #include <memory>
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 222
223 EXPECT_EQ(expected.response_time, actual.response_time); 223 EXPECT_EQ(expected.response_time, actual.response_time);
224 if (expected.response_time != actual.response_time) 224 if (expected.response_time != actual.response_time)
225 return false; 225 return false;
226 226
227 EXPECT_EQ(expected.cache_storage_cache_name, actual.cache_storage_cache_name); 227 EXPECT_EQ(expected.cache_storage_cache_name, actual.cache_storage_cache_name);
228 if (expected.cache_storage_cache_name != actual.cache_storage_cache_name) 228 if (expected.cache_storage_cache_name != actual.cache_storage_cache_name)
229 return false; 229 return false;
230 230
231 EXPECT_EQ(expected.cors_exposed_header_names,
232 actual.cors_exposed_header_names);
233 if (expected.cors_exposed_header_names != actual.cors_exposed_header_names)
234 return false;
235
231 return true; 236 return true;
232 } 237 }
233 238
234 bool ResponseBodiesEqual(const std::string& expected_body, 239 bool ResponseBodiesEqual(const std::string& expected_body,
235 const storage::BlobDataHandle& actual_body_handle) { 240 const storage::BlobDataHandle& actual_body_handle) {
236 std::string actual_body; 241 std::string actual_body;
237 CopyBody(actual_body_handle, &actual_body); 242 CopyBody(actual_body_handle, &actual_body);
238 return expected_body == actual_body; 243 return expected_body == actual_body;
239 } 244 }
240 245
241 bool ResponseSideDataEqual(const std::string& expected_side_data, 246 bool ResponseSideDataEqual(const std::string& expected_side_data,
242 const storage::BlobDataHandle& actual_body_handle) { 247 const storage::BlobDataHandle& actual_body_handle) {
243 std::string actual_body; 248 std::string actual_body;
244 CopySideData(actual_body_handle, &actual_body); 249 CopySideData(actual_body_handle, &actual_body);
245 return expected_side_data == actual_body; 250 return expected_side_data == actual_body;
246 } 251 }
247 252
248 ServiceWorkerResponse SetCacheName(const ServiceWorkerResponse& original) { 253 ServiceWorkerResponse SetCacheName(const ServiceWorkerResponse& original) {
249 return ServiceWorkerResponse( 254 ServiceWorkerResponse result(original);
250 original.url, original.status_code, original.status_text, 255 result.is_in_cache_storage = true;
251 original.response_type, original.headers, original.blob_uuid, 256 result.cache_storage_cache_name = kCacheName;
252 original.blob_size, original.stream_url, original.error, 257 return result;
253 original.response_time, true, kCacheName);
254 } 258 }
255 259
256 } // namespace 260 } // namespace
257 261
258 // A CacheStorageCache that can optionally delay during backend creation. 262 // A CacheStorageCache that can optionally delay during backend creation.
259 class TestCacheStorageCache : public CacheStorageCache { 263 class TestCacheStorageCache : public CacheStorageCache {
260 public: 264 public:
261 TestCacheStorageCache( 265 TestCacheStorageCache(
262 const GURL& origin, 266 const GURL& origin,
263 const std::string& cache_name, 267 const std::string& cache_name,
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 385
382 blob_handle_ = 386 blob_handle_ =
383 blob_storage_context->context()->AddFinishedBlob(blob_data.get()); 387 blob_storage_context->context()->AddFinishedBlob(blob_data.get());
384 388
385 body_response_ = ServiceWorkerResponse( 389 body_response_ = ServiceWorkerResponse(
386 GURL("http://example.com/body.html"), 200, "OK", 390 GURL("http://example.com/body.html"), 200, "OK",
387 blink::WebServiceWorkerResponseTypeDefault, headers, 391 blink::WebServiceWorkerResponseTypeDefault, headers,
388 blob_handle_->uuid(), expected_blob_data_.size(), GURL(), 392 blob_handle_->uuid(), expected_blob_data_.size(), GURL(),
389 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(), 393 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(),
390 false /* is_in_cache_storage */, 394 false /* is_in_cache_storage */,
391 std::string() /* cache_storage_cache_name */); 395 std::string() /* cache_storage_cache_name */,
396 ServiceWorkerHeaderList() /* cors_exposed_header_names */);
392 397
393 body_response_with_query_ = ServiceWorkerResponse( 398 body_response_with_query_ = ServiceWorkerResponse(
394 GURL("http://example.com/body.html?query=test"), 200, "OK", 399 GURL("http://example.com/body.html?query=test"), 200, "OK",
395 blink::WebServiceWorkerResponseTypeDefault, headers, 400 blink::WebServiceWorkerResponseTypeDefault, headers,
396 blob_handle_->uuid(), expected_blob_data_.size(), GURL(), 401 blob_handle_->uuid(), expected_blob_data_.size(), GURL(),
397 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(), 402 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(),
398 false /* is_in_cache_storage */, 403 false /* is_in_cache_storage */,
399 std::string() /* cache_storage_cache_name */); 404 std::string() /* cache_storage_cache_name */,
405 {"a"} /* cors_exposed_header_names */);
400 406
401 no_body_response_ = ServiceWorkerResponse( 407 no_body_response_ = ServiceWorkerResponse(
402 GURL("http://example.com/no_body.html"), 200, "OK", 408 GURL("http://example.com/no_body.html"), 200, "OK",
403 blink::WebServiceWorkerResponseTypeDefault, headers, "", 0, GURL(), 409 blink::WebServiceWorkerResponseTypeDefault, headers, "", 0, GURL(),
404 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(), 410 blink::WebServiceWorkerResponseErrorUnknown, base::Time::Now(),
405 false /* is_in_cache_storage */, 411 false /* is_in_cache_storage */,
406 std::string() /* cache_storage_cache_name */); 412 std::string() /* cache_storage_cache_name */,
413 ServiceWorkerHeaderList() /* cors_exposed_header_names */);
407 } 414 }
408 415
409 std::unique_ptr<ServiceWorkerFetchRequest> CopyFetchRequest( 416 std::unique_ptr<ServiceWorkerFetchRequest> CopyFetchRequest(
410 const ServiceWorkerFetchRequest& request) { 417 const ServiceWorkerFetchRequest& request) {
411 return base::WrapUnique(new ServiceWorkerFetchRequest( 418 return base::WrapUnique(new ServiceWorkerFetchRequest(
412 request.url, request.method, request.headers, request.referrer, 419 request.url, request.method, request.headers, request.referrer,
413 request.is_reload)); 420 request.is_reload));
414 } 421 }
415 422
416 CacheStorageError BatchOperation( 423 CacheStorageError BatchOperation(
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after
1217 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize)); 1224 scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(kSize));
1218 memset(buffer->data(), 0, kSize); 1225 memset(buffer->data(), 0, kSize);
1219 EXPECT_FALSE(WriteSideData(GURL("http://www.example.com/not_exist"), 1226 EXPECT_FALSE(WriteSideData(GURL("http://www.example.com/not_exist"),
1220 base::Time::Now(), buffer, kSize)); 1227 base::Time::Now(), buffer, kSize));
1221 EXPECT_EQ(CACHE_STORAGE_ERROR_NOT_FOUND, callback_error_); 1228 EXPECT_EQ(CACHE_STORAGE_ERROR_NOT_FOUND, callback_error_);
1222 } 1229 }
1223 1230
1224 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerResponseHeaders) { 1231 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerResponseHeaders) {
1225 // CacheStorageCache depends on ServiceWorkerResponse having caseless 1232 // CacheStorageCache depends on ServiceWorkerResponse having caseless
1226 // headers so that it can quickly lookup vary headers. 1233 // headers so that it can quickly lookup vary headers.
1227 ServiceWorkerResponse response(GURL("http://www.example.com"), 200, "OK", 1234 ServiceWorkerResponse response(
1228 blink::WebServiceWorkerResponseTypeDefault, 1235 GURL("http://www.example.com"), 200, "OK",
1229 ServiceWorkerHeaderMap(), "", 0, GURL(), 1236 blink::WebServiceWorkerResponseTypeDefault, ServiceWorkerHeaderMap(), "",
1230 blink::WebServiceWorkerResponseErrorUnknown, 1237 0, GURL(), blink::WebServiceWorkerResponseErrorUnknown, base::Time(),
1231 base::Time(), false /* is_in_cache_storage */, 1238 false /* is_in_cache_storage */,
1232 std::string() /* cache_storage_cache_name */); 1239 std::string() /* cache_storage_cache_name */,
1240 ServiceWorkerHeaderList() /* cors_exposed_header_names */);
1233 response.headers["content-type"] = "foo"; 1241 response.headers["content-type"] = "foo";
1234 response.headers["Content-Type"] = "bar"; 1242 response.headers["Content-Type"] = "bar";
1235 EXPECT_EQ("bar", response.headers["content-type"]); 1243 EXPECT_EQ("bar", response.headers["content-type"]);
1236 } 1244 }
1237 1245
1238 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerFetchRequestHeaders) { 1246 TEST_F(CacheStorageCacheTest, CaselessServiceWorkerFetchRequestHeaders) {
1239 // CacheStorageCache depends on ServiceWorkerFetchRequest having caseless 1247 // CacheStorageCache depends on ServiceWorkerFetchRequest having caseless
1240 // headers so that it can quickly lookup vary headers. 1248 // headers so that it can quickly lookup vary headers.
1241 ServiceWorkerFetchRequest request(GURL("http://www.example.com"), "GET", 1249 ServiceWorkerFetchRequest request(GURL("http://www.example.com"), "GET",
1242 ServiceWorkerHeaderMap(), Referrer(), 1250 ServiceWorkerHeaderMap(), Referrer(),
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 EXPECT_EQ(1, sequence_out); 1407 EXPECT_EQ(1, sequence_out);
1400 close_loop2->Run(); 1408 close_loop2->Run();
1401 EXPECT_EQ(2, sequence_out); 1409 EXPECT_EQ(2, sequence_out);
1402 } 1410 }
1403 1411
1404 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest, 1412 INSTANTIATE_TEST_CASE_P(CacheStorageCacheTest,
1405 CacheStorageCacheTestP, 1413 CacheStorageCacheTestP,
1406 ::testing::Values(false, true)); 1414 ::testing::Values(false, true));
1407 1415
1408 } // namespace content 1416 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/cache_storage/cache_storage_cache.cc ('k') | content/browser/cache_storage/cache_storage_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698