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

Side by Side Diff: third_party/WebKit/Source/modules/fetch/FetchResponseDataTest.cpp

Issue 1969403004: Expose and check origin of request in response for foreign fetch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@set-request-and-credentials-mode
Patch Set: update layouttests 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 "modules/fetch/FetchResponseData.h" 5 #include "modules/fetch/FetchResponseData.h"
6 6
7 #include "core/dom/DOMArrayBuffer.h" 7 #include "core/dom/DOMArrayBuffer.h"
8 #include "modules/fetch/FetchHeaderList.h" 8 #include "modules/fetch/FetchHeaderList.h"
9 #include "platform/blob/BlobData.h" 9 #include "platform/blob/BlobData.h"
10 #include "public/platform/modules/serviceworker/WebServiceWorkerResponse.h" 10 #include "public/platform/modules/serviceworker/WebServiceWorkerResponse.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 internalResponse->populateWebServiceWorkerResponse(webResponse); 61 internalResponse->populateWebServiceWorkerResponse(webResponse);
62 EXPECT_EQ(WebServiceWorkerResponseTypeDefault, webResponse.responseType()); 62 EXPECT_EQ(WebServiceWorkerResponseTypeDefault, webResponse.responseType());
63 CheckHeaders(webResponse); 63 CheckHeaders(webResponse);
64 } 64 }
65 65
66 TEST_F(FetchResponseDataTest, BasicFilter) 66 TEST_F(FetchResponseDataTest, BasicFilter)
67 { 67 {
68 FetchResponseData* internalResponse = createInternalResponse(); 68 FetchResponseData* internalResponse = createInternalResponse();
69 FetchResponseData* basicResponseData = internalResponse->createBasicFiltered Response(); 69 FetchResponseData* basicResponseData = internalResponse->createBasicFiltered Response();
70 70
71 EXPECT_EQ(internalResponse, basicResponseData->internalResponse());
72
71 EXPECT_FALSE(basicResponseData->headerList()->has("set-cookie")); 73 EXPECT_FALSE(basicResponseData->headerList()->has("set-cookie"));
72 74
73 Vector<String> barValues; 75 Vector<String> barValues;
74 basicResponseData->headerList()->getAll("bar", barValues); 76 basicResponseData->headerList()->getAll("bar", barValues);
75 ASSERT_EQ(1U, barValues.size()); 77 ASSERT_EQ(1U, barValues.size());
76 EXPECT_EQ("bar", barValues[0]); 78 EXPECT_EQ("bar", barValues[0]);
77 79
78 Vector<String> cacheControlValues; 80 Vector<String> cacheControlValues;
79 basicResponseData->headerList()->getAll("cache-control", cacheControlValues) ; 81 basicResponseData->headerList()->getAll("cache-control", cacheControlValues) ;
80 ASSERT_EQ(1U, cacheControlValues.size()); 82 ASSERT_EQ(1U, cacheControlValues.size());
81 EXPECT_EQ("no-cache", cacheControlValues[0]); 83 EXPECT_EQ("no-cache", cacheControlValues[0]);
82 } 84 }
83 85
84 TEST_F(FetchResponseDataTest, ToWebServiceWorkerBasicType) 86 TEST_F(FetchResponseDataTest, ToWebServiceWorkerBasicType)
85 { 87 {
86 WebServiceWorkerResponse webResponse; 88 WebServiceWorkerResponse webResponse;
87 FetchResponseData* internalResponse = createInternalResponse(); 89 FetchResponseData* internalResponse = createInternalResponse();
88 FetchResponseData* basicResponseData = internalResponse->createBasicFiltered Response(); 90 FetchResponseData* basicResponseData = internalResponse->createBasicFiltered Response();
89 91
90 basicResponseData->populateWebServiceWorkerResponse(webResponse); 92 basicResponseData->populateWebServiceWorkerResponse(webResponse);
91 EXPECT_EQ(WebServiceWorkerResponseTypeBasic, webResponse.responseType()); 93 EXPECT_EQ(WebServiceWorkerResponseTypeBasic, webResponse.responseType());
92 CheckHeaders(webResponse); 94 CheckHeaders(webResponse);
93 } 95 }
94 96
95 TEST_F(FetchResponseDataTest, CORSFilter) 97 TEST_F(FetchResponseDataTest, CORSFilter)
96 { 98 {
97 FetchResponseData* internalResponse = createInternalResponse(); 99 FetchResponseData* internalResponse = createInternalResponse();
98 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse(); 100 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse();
99 101
102 EXPECT_EQ(internalResponse, corsResponseData->internalResponse());
103
100 EXPECT_FALSE(corsResponseData->headerList()->has("set-cookie")); 104 EXPECT_FALSE(corsResponseData->headerList()->has("set-cookie"));
101 105
102 EXPECT_FALSE(corsResponseData->headerList()->has("bar")); 106 EXPECT_FALSE(corsResponseData->headerList()->has("bar"));
103 107
104 Vector<String> cacheControlValues; 108 Vector<String> cacheControlValues;
105 corsResponseData->headerList()->getAll("cache-control", cacheControlValues); 109 corsResponseData->headerList()->getAll("cache-control", cacheControlValues);
106 ASSERT_EQ(1U, cacheControlValues.size()); 110 ASSERT_EQ(1U, cacheControlValues.size());
107 EXPECT_EQ("no-cache", cacheControlValues[0]); 111 EXPECT_EQ("no-cache", cacheControlValues[0]);
108 } 112 }
109 113
110 TEST_F(FetchResponseDataTest, CORSFilterOnResponseWithAccessControlExposeHeaders ) 114 TEST_F(FetchResponseDataTest, CORSFilterOnResponseWithAccessControlExposeHeaders )
111 { 115 {
112 FetchResponseData* internalResponse = createInternalResponse(); 116 FetchResponseData* internalResponse = createInternalResponse();
113 internalResponse->headerList()->append("access-control-expose-headers", "set -cookie, bar"); 117 internalResponse->headerList()->append("access-control-expose-headers", "set -cookie, bar");
114 118
115 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse(); 119 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse();
116 120
121 EXPECT_EQ(internalResponse, corsResponseData->internalResponse());
122
117 EXPECT_FALSE(corsResponseData->headerList()->has("set-cookie")); 123 EXPECT_FALSE(corsResponseData->headerList()->has("set-cookie"));
118 124
119 Vector<String> barValues; 125 Vector<String> barValues;
120 corsResponseData->headerList()->getAll("bar", barValues); 126 corsResponseData->headerList()->getAll("bar", barValues);
121 ASSERT_EQ(1U, barValues.size()); 127 ASSERT_EQ(1U, barValues.size());
122 EXPECT_EQ("bar", barValues[0]); 128 EXPECT_EQ("bar", barValues[0]);
123 } 129 }
124 130
125 TEST_F(FetchResponseDataTest, ToWebServiceWorkerCORSType) 131 TEST_F(FetchResponseDataTest, ToWebServiceWorkerCORSType)
126 { 132 {
127 WebServiceWorkerResponse webResponse; 133 WebServiceWorkerResponse webResponse;
128 FetchResponseData* internalResponse = createInternalResponse(); 134 FetchResponseData* internalResponse = createInternalResponse();
129 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse(); 135 FetchResponseData* corsResponseData = internalResponse->createCORSFilteredRe sponse();
130 136
131 corsResponseData->populateWebServiceWorkerResponse(webResponse); 137 corsResponseData->populateWebServiceWorkerResponse(webResponse);
132 EXPECT_EQ(WebServiceWorkerResponseTypeCORS, webResponse.responseType()); 138 EXPECT_EQ(WebServiceWorkerResponseTypeCORS, webResponse.responseType());
133 CheckHeaders(webResponse); 139 CheckHeaders(webResponse);
134 } 140 }
135 141
136 TEST_F(FetchResponseDataTest, OpaqueFilter) 142 TEST_F(FetchResponseDataTest, OpaqueFilter)
137 { 143 {
138 FetchResponseData* internalResponse = createInternalResponse(); 144 FetchResponseData* internalResponse = createInternalResponse();
139 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse(); 145 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse();
140 146
147 EXPECT_EQ(internalResponse, opaqueResponseData->internalResponse());
148
141 EXPECT_FALSE(opaqueResponseData->headerList()->has("set-cookie")); 149 EXPECT_FALSE(opaqueResponseData->headerList()->has("set-cookie"));
142 EXPECT_FALSE(opaqueResponseData->headerList()->has("bar")); 150 EXPECT_FALSE(opaqueResponseData->headerList()->has("bar"));
143 EXPECT_FALSE(opaqueResponseData->headerList()->has("cache-control")); 151 EXPECT_FALSE(opaqueResponseData->headerList()->has("cache-control"));
144 } 152 }
145 153
146 TEST_F(FetchResponseDataTest, OpaqueRedirectFilter) 154 TEST_F(FetchResponseDataTest, OpaqueRedirectFilter)
147 { 155 {
148 FetchResponseData* internalResponse = createInternalResponse(); 156 FetchResponseData* internalResponse = createInternalResponse();
149 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueRedire ctFilteredResponse(); 157 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueRedire ctFilteredResponse();
150 158
159 EXPECT_EQ(internalResponse, opaqueResponseData->internalResponse());
160
151 EXPECT_EQ(opaqueResponseData->headerList()->size(), 0u); 161 EXPECT_EQ(opaqueResponseData->headerList()->size(), 0u);
152 EXPECT_EQ(opaqueResponseData->url(), internalResponse->url()); 162 EXPECT_EQ(opaqueResponseData->url(), internalResponse->url());
153 } 163 }
154 164
155 TEST_F(FetchResponseDataTest, OpaqueFilterOnResponseWithAccessControlExposeHeade rs) 165 TEST_F(FetchResponseDataTest, OpaqueFilterOnResponseWithAccessControlExposeHeade rs)
156 { 166 {
157 FetchResponseData* internalResponse = createInternalResponse(); 167 FetchResponseData* internalResponse = createInternalResponse();
158 internalResponse->headerList()->append("access-control-expose-headers", "set -cookie, bar"); 168 internalResponse->headerList()->append("access-control-expose-headers", "set -cookie, bar");
159 169
160 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse(); 170 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse();
161 171
172 EXPECT_EQ(internalResponse, opaqueResponseData->internalResponse());
173
162 EXPECT_FALSE(opaqueResponseData->headerList()->has("set-cookie")); 174 EXPECT_FALSE(opaqueResponseData->headerList()->has("set-cookie"));
163 EXPECT_FALSE(opaqueResponseData->headerList()->has("bar")); 175 EXPECT_FALSE(opaqueResponseData->headerList()->has("bar"));
164 EXPECT_FALSE(opaqueResponseData->headerList()->has("cache-control")); 176 EXPECT_FALSE(opaqueResponseData->headerList()->has("cache-control"));
165 } 177 }
166 178
167 TEST_F(FetchResponseDataTest, ToWebServiceWorkerOpaqueType) 179 TEST_F(FetchResponseDataTest, ToWebServiceWorkerOpaqueType)
168 { 180 {
169 WebServiceWorkerResponse webResponse; 181 WebServiceWorkerResponse webResponse;
170 FetchResponseData* internalResponse = createInternalResponse(); 182 FetchResponseData* internalResponse = createInternalResponse();
171 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse(); 183 FetchResponseData* opaqueResponseData = internalResponse->createOpaqueFilter edResponse();
172 184
173 opaqueResponseData->populateWebServiceWorkerResponse(webResponse); 185 opaqueResponseData->populateWebServiceWorkerResponse(webResponse);
174 EXPECT_EQ(WebServiceWorkerResponseTypeOpaque, webResponse.responseType()); 186 EXPECT_EQ(WebServiceWorkerResponseTypeOpaque, webResponse.responseType());
175 CheckHeaders(webResponse); 187 CheckHeaders(webResponse);
176 } 188 }
177 189
178 TEST_F(FetchResponseDataTest, ToWebServiceWorkerOpaqueRedirectType) 190 TEST_F(FetchResponseDataTest, ToWebServiceWorkerOpaqueRedirectType)
179 { 191 {
180 WebServiceWorkerResponse webResponse; 192 WebServiceWorkerResponse webResponse;
181 FetchResponseData* internalResponse = createInternalResponse(); 193 FetchResponseData* internalResponse = createInternalResponse();
182 FetchResponseData* opaqueRedirectResponseData = internalResponse->createOpaq ueRedirectFilteredResponse(); 194 FetchResponseData* opaqueRedirectResponseData = internalResponse->createOpaq ueRedirectFilteredResponse();
183 195
184 opaqueRedirectResponseData->populateWebServiceWorkerResponse(webResponse); 196 opaqueRedirectResponseData->populateWebServiceWorkerResponse(webResponse);
185 EXPECT_EQ(WebServiceWorkerResponseTypeOpaqueRedirect, webResponse.responseTy pe()); 197 EXPECT_EQ(WebServiceWorkerResponseTypeOpaqueRedirect, webResponse.responseTy pe());
186 CheckHeaders(webResponse); 198 CheckHeaders(webResponse);
187 } 199 }
188 200
189 } // namespace blink 201 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698