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

Unified Diff: Source/modules/serviceworkers/FetchResponseDataTest.cpp

Issue 617003003: Make WebServiceWorkerResponse support ResponseType (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 3 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: Source/modules/serviceworkers/FetchResponseDataTest.cpp
diff --git a/Source/modules/serviceworkers/FetchResponseDataTest.cpp b/Source/modules/serviceworkers/FetchResponseDataTest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f5f0ab9495c5ec659c7626345897173cb423b373
--- /dev/null
+++ b/Source/modules/serviceworkers/FetchResponseDataTest.cpp
@@ -0,0 +1,80 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "config.h"
+#include "modules/serviceworkers/FetchResponseData.h"
+
+#include "modules/serviceworkers/FetchHeaderList.h"
+#include "platform/blob/BlobData.h"
+#include "public/platform/WebServiceWorkerResponse.h"
+
+#include <gtest/gtest.h>
+
+namespace blink {
+
+class FetchResponseDataTest : public ::testing::Test {
+public:
+ FetchResponseData* createInternalResponse()
+ {
+ FetchResponseData* internalResponse = FetchResponseData::create();
+ internalResponse->setStatus(200);
+ internalResponse->setURL(KURL(ParsedURLString, "http://www.example.com"));
+ internalResponse->headerList()->append("set-cookie", "foo");
+ internalResponse->headerList()->append("bar", "bar");
+ internalResponse->headerList()->append("cache-control", "no-cache");
+ return internalResponse;
+ }
+
+ void CheckHeaders(const WebServiceWorkerResponse& webResponse)
+ {
+ EXPECT_STREQ("foo", webResponse.getHeader("set-cookie").utf8().c_str());
+ EXPECT_STREQ("bar", webResponse.getHeader("bar").utf8().c_str());
+ EXPECT_STREQ("no-cache", webResponse.getHeader("cache-control").utf8().c_str());
+ }
+};
+
+TEST_F(FetchResponseDataTest, ToWebServiceWorkerDefaultType)
+{
+ WebServiceWorkerResponse webResponse;
+ FetchResponseData* internalResponse = createInternalResponse();
+
+ internalResponse->populateWebServiceWorkerResponse(webResponse);
+ EXPECT_EQ(WebServiceWorkerResponse::DefaultType, webResponse.responseType());
+ CheckHeaders(webResponse);
+}
+
+TEST_F(FetchResponseDataTest, ToWebServiceWorkerBasicType)
+{
+ WebServiceWorkerResponse webResponse;
+ FetchResponseData* internalResponse = createInternalResponse();
+ FetchResponseData* basicResponseData = internalResponse->createBasicFilteredResponse();
+
+ basicResponseData->populateWebServiceWorkerResponse(webResponse);
+ EXPECT_EQ(WebServiceWorkerResponse::BasicType, webResponse.responseType());
+ CheckHeaders(webResponse);
+}
+
+TEST_F(FetchResponseDataTest, ToWebServiceWorkerCORSType)
+{
+ WebServiceWorkerResponse webResponse;
+ FetchResponseData* internalResponse = createInternalResponse();
+ FetchResponseData* corsResponseData = internalResponse->createCORSFilteredResponse();
+
+ corsResponseData->populateWebServiceWorkerResponse(webResponse);
+ EXPECT_EQ(WebServiceWorkerResponse::CORSType, webResponse.responseType());
+ CheckHeaders(webResponse);
+}
+
+TEST_F(FetchResponseDataTest, ToWebServiceWorkerOpaqueType)
+{
+ WebServiceWorkerResponse webResponse;
+ FetchResponseData* internalResponse = createInternalResponse();
+ FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilteredResponse();
+
+ opaqueResponseData->populateWebServiceWorkerResponse(webResponse);
+ EXPECT_EQ(WebServiceWorkerResponse::OpaqueType, webResponse.responseType());
+ CheckHeaders(webResponse);
+}
+
+} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698