| Index: content/browser/service_worker/service_worker_cache_unittest.cc
|
| diff --git a/content/browser/service_worker/service_worker_cache_unittest.cc b/content/browser/service_worker/service_worker_cache_unittest.cc
|
| index 2c5414a9e5cd8cf68bb37ec6f91dcf9eedf03ee0..e498626bc52dcda9cda2c1155d522df35f397e46 100644
|
| --- a/content/browser/service_worker/service_worker_cache_unittest.cc
|
| +++ b/content/browser/service_worker/service_worker_cache_unittest.cc
|
| @@ -105,14 +105,21 @@ class ServiceWorkerCacheTest : public testing::Test {
|
| blob_handle_ =
|
| blob_storage_context->context()->AddFinishedBlob(blob_data.get());
|
|
|
| - body_response_ = ServiceWorkerResponse(GURL("http://example.com/body.html"),
|
| - 200,
|
| - "OK",
|
| - headers,
|
| - blob_handle_->uuid());
|
| -
|
| - no_body_response_ = ServiceWorkerResponse(
|
| - GURL("http://example.com/no_body.html"), 200, "OK", headers, "");
|
| + body_response_ =
|
| + ServiceWorkerResponse(GURL("http://example.com/body.html"),
|
| + 200,
|
| + "OK",
|
| + blink::WebServiceWorkerResponseTypeDefault,
|
| + headers,
|
| + blob_handle_->uuid());
|
| +
|
| + no_body_response_ =
|
| + ServiceWorkerResponse(GURL("http://example.com/no_body.html"),
|
| + 200,
|
| + "OK",
|
| + blink::WebServiceWorkerResponseTypeDefault,
|
| + headers,
|
| + "");
|
| }
|
|
|
| scoped_ptr<ServiceWorkerFetchRequest> CopyFetchRequest(
|
| @@ -126,11 +133,14 @@ class ServiceWorkerCacheTest : public testing::Test {
|
|
|
| scoped_ptr<ServiceWorkerResponse> CopyFetchResponse(
|
| const ServiceWorkerResponse& response) {
|
| - return make_scoped_ptr(new ServiceWorkerResponse(response.url,
|
| - response.status_code,
|
| - response.status_text,
|
| - response.headers,
|
| - response.blob_uuid));
|
| + scoped_ptr<ServiceWorkerResponse> sw_response(
|
| + new ServiceWorkerResponse(response.url,
|
| + response.status_code,
|
| + response.status_text,
|
| + response.response_type,
|
| + response.headers,
|
| + response.blob_uuid));
|
| + return sw_response.Pass();
|
| }
|
|
|
| bool Put(const ServiceWorkerFetchRequest& request,
|
| @@ -239,6 +249,14 @@ class ServiceWorkerCacheTest : public testing::Test {
|
| return true;
|
| }
|
|
|
| + bool TestResponseType(blink::WebServiceWorkerResponseType response_type) {
|
| + body_response_.response_type = response_type;
|
| + EXPECT_TRUE(Put(body_request_, body_response_));
|
| + EXPECT_TRUE(Match(body_request_));
|
| + EXPECT_TRUE(Delete(body_request_));
|
| + return response_type == callback_response_->response_type;
|
| + }
|
| +
|
| virtual bool MemoryOnly() { return false; }
|
|
|
| protected:
|
| @@ -287,6 +305,14 @@ TEST_P(ServiceWorkerCacheTestP, PutBody) {
|
| EXPECT_STREQ(expected_blob_data_.c_str(), response_body.c_str());
|
| }
|
|
|
| +TEST_P(ServiceWorkerCacheTestP, PutResponseType) {
|
| + EXPECT_TRUE(TestResponseType(blink::WebServiceWorkerResponseTypeBasic));
|
| + EXPECT_TRUE(TestResponseType(blink::WebServiceWorkerResponseTypeCORS));
|
| + EXPECT_TRUE(TestResponseType(blink::WebServiceWorkerResponseTypeDefault));
|
| + EXPECT_TRUE(TestResponseType(blink::WebServiceWorkerResponseTypeError));
|
| + EXPECT_TRUE(TestResponseType(blink::WebServiceWorkerResponseTypeOpaque));
|
| +}
|
| +
|
| TEST_F(ServiceWorkerCacheTest, PutBodyDropBlobRef) {
|
| scoped_ptr<base::RunLoop> loop(new base::RunLoop());
|
| cache_->Put(CopyFetchRequest(body_request_),
|
| @@ -465,8 +491,12 @@ TEST_P(ServiceWorkerCacheTestP, QuickStressBody) {
|
| TEST_F(ServiceWorkerCacheTest, CaselessServiceWorkerResponseHeaders) {
|
| // ServiceWorkerCache depends on ServiceWorkerResponse having caseless
|
| // headers so that it can quickly lookup vary headers.
|
| - ServiceWorkerResponse response(
|
| - GURL("http://www.example.com"), 200, "OK", ServiceWorkerHeaderMap(), "");
|
| + ServiceWorkerResponse response(GURL("http://www.example.com"),
|
| + 200,
|
| + "OK",
|
| + blink::WebServiceWorkerResponseTypeDefault,
|
| + ServiceWorkerHeaderMap(),
|
| + "");
|
| response.headers["content-type"] = "foo";
|
| response.headers["Content-Type"] = "bar";
|
| EXPECT_EQ("bar", response.headers["content-type"]);
|
|
|