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: content/browser/service_worker/service_worker_cache_unittest.cc

Issue 576973004: Make ServiceWorkerFetchRequest and ServiceWorkerResponse header maps case insensitive (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses comment from PS4 Created 6 years, 2 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/service_worker/service_worker_cache.h" 5 #include "content/browser/service_worker/service_worker_cache.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/message_loop/message_loop_proxy.h" 9 #include "base/message_loop/message_loop_proxy.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 base::RunLoop().RunUntilIdle(); 82 base::RunLoop().RunUntilIdle();
83 disk_cache::SimpleBackendImpl::FlushWorkerPoolForTesting(); 83 disk_cache::SimpleBackendImpl::FlushWorkerPoolForTesting();
84 base::RunLoop().RunUntilIdle(); 84 base::RunLoop().RunUntilIdle();
85 cache_ = NULL; 85 cache_ = NULL;
86 base::RunLoop().RunUntilIdle(); 86 base::RunLoop().RunUntilIdle();
87 disk_cache::SimpleBackendImpl::FlushWorkerPoolForTesting(); 87 disk_cache::SimpleBackendImpl::FlushWorkerPoolForTesting();
88 base::RunLoop().RunUntilIdle(); 88 base::RunLoop().RunUntilIdle();
89 } 89 }
90 90
91 void CreateRequests(ChromeBlobStorageContext* blob_storage_context) { 91 void CreateRequests(ChromeBlobStorageContext* blob_storage_context) {
92 std::map<std::string, std::string> headers; 92 ServiceWorkerHeaderMap headers;
93 headers.insert(std::make_pair("a", "a")); 93 headers.insert(std::make_pair("a", "a"));
94 headers.insert(std::make_pair("b", "b")); 94 headers.insert(std::make_pair("b", "b"));
95 body_request_ = ServiceWorkerFetchRequest( 95 body_request_ = ServiceWorkerFetchRequest(
96 GURL("http://example.com/body.html"), "GET", headers, GURL(""), false); 96 GURL("http://example.com/body.html"), "GET", headers, GURL(""), false);
97 no_body_request_ = 97 no_body_request_ =
98 ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"), 98 ServiceWorkerFetchRequest(GURL("http://example.com/no_body.html"),
99 "GET", 99 "GET",
100 headers, 100 headers,
101 GURL(""), 101 GURL(""),
102 false); 102 false);
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 TEST_P(ServiceWorkerCacheTestP, QuickStressBody) { 391 TEST_P(ServiceWorkerCacheTestP, QuickStressBody) {
392 for (int i = 0; i < 100; ++i) { 392 for (int i = 0; i < 100; ++i) {
393 ASSERT_FALSE(Match(body_request_)); 393 ASSERT_FALSE(Match(body_request_));
394 ASSERT_TRUE(Put(body_request_, body_response_)); 394 ASSERT_TRUE(Put(body_request_, body_response_));
395 ASSERT_TRUE(Match(body_request_)); 395 ASSERT_TRUE(Match(body_request_));
396 ASSERT_TRUE(Delete(body_request_)); 396 ASSERT_TRUE(Delete(body_request_));
397 } 397 }
398 } 398 }
399 #endif // OS_WIN 399 #endif // OS_WIN
400 400
401 TEST_F(ServiceWorkerCacheTest, CaselessServiceWorkerResponseHeaders) {
402 // ServiceWorkerCache depends on ServiceWorkerResponse having caseless
403 // headers so that it can quickly lookup vary headers.
404 ServiceWorkerResponse response(
405 GURL("http://www.example.com"), 200, "OK", ServiceWorkerHeaderMap(), "");
406 response.headers["content-type"] = "foo";
407 response.headers["Content-Type"] = "bar";
408 EXPECT_EQ("bar", response.headers["content-type"]);
409 }
410
411 TEST_F(ServiceWorkerCacheTest, CaselessServiceWorkerFetchRequestHeaders) {
412 // ServiceWorkerCache depends on ServiceWorkerFetchRequest having caseless
413 // headers so that it can quickly lookup vary headers.
414 ServiceWorkerFetchRequest request(GURL("http://www.example.com"),
415 "GET",
416 ServiceWorkerHeaderMap(),
417 GURL(""),
418 false);
419 request.headers["content-type"] = "foo";
420 request.headers["Content-Type"] = "bar";
421 EXPECT_EQ("bar", request.headers["content-type"]);
422 }
423
401 INSTANTIATE_TEST_CASE_P(ServiceWorkerCacheTest, 424 INSTANTIATE_TEST_CASE_P(ServiceWorkerCacheTest,
402 ServiceWorkerCacheTestP, 425 ServiceWorkerCacheTestP,
403 ::testing::Values(false, true)); 426 ::testing::Values(false, true));
404 427
405 } // namespace content 428 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698