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

Unified Diff: content/browser/service_worker/service_worker_cache_unittest.cc

Issue 617263002: Support WebServiceWorkerResponseType in ServiceWorkerCache. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Don't run test on windows, see https://crbug.com/416940 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 side-by-side diff with in-line comments
Download patch
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..dacc3bcf6e2e8d81e9b6404937fa5764fb750999 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:
@@ -419,7 +437,8 @@ TEST_P(ServiceWorkerCacheTestP, TwoKeysThenOne) {
// TODO(jkarlin): Once SimpleCache is working bug-free on Windows reenable these
// tests. In the meanwhile we know that Windows operations will be a little
-// flaky (though not crashy). See https://crbug.com/409109
+// flaky (though not crashy). See https://crbug.com/409109 and
+// https://crbug.com/416940.
#ifndef OS_WIN
TEST_P(ServiceWorkerCacheTestP, DeleteNoBody) {
EXPECT_TRUE(Put(no_body_request_, no_body_response_));
@@ -460,13 +479,25 @@ TEST_P(ServiceWorkerCacheTestP, QuickStressBody) {
ASSERT_TRUE(Delete(body_request_));
}
}
+
+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));
+}
#endif // OS_WIN
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"]);

Powered by Google App Engine
This is Rietveld 408576698