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

Side by Side Diff: Source/modules/fetch/ResponseTest.cpp

Issue 1171913003: **** [WIP] Blink-side: Implement FetchBlobDataConsumerHandle **** (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Clean up. Created 5 years, 6 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
« no previous file with comments | « Source/modules/fetch/Response.cpp ('k') | Source/modules/modules.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "config.h" 5 #include "config.h"
6 #include "modules/fetch/Response.h" 6 #include "modules/fetch/Response.h"
7 7
8 #include "bindings/core/v8/ExceptionState.h" 8 #include "bindings/core/v8/ExceptionState.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "core/dom/Document.h" 10 #include "core/dom/Document.h"
11 #include "core/frame/Frame.h" 11 #include "core/frame/Frame.h"
12 #include "core/testing/DummyPageHolder.h" 12 #include "core/testing/DummyPageHolder.h"
13 #include "modules/fetch/BodyStreamBuffer.h" 13 #include "modules/fetch/BodyStreamBuffer.h"
14 #include "modules/fetch/FetchResponseData.h" 14 #include "modules/fetch/FetchResponseData.h"
15 #include "platform/blob/BlobData.h" 15 #include "platform/blob/BlobData.h"
16 #include "public/platform/WebServiceWorkerResponse.h" 16 #include "public/platform/WebServiceWorkerResponse.h"
17 #include <gtest/gtest.h> 17 #include <gtest/gtest.h>
18 18
19 namespace blink { 19 namespace blink {
20 namespace { 20 namespace {
21 21
22 const char kTestData[] = "Here is sample text for the blob."; 22 // const char kTestData[] = "Here is sample text for the blob.";
23 23
24 /*
24 class MockCanceller : public BodyStreamBuffer::Canceller { 25 class MockCanceller : public BodyStreamBuffer::Canceller {
25 public: 26 public:
26 MockCanceller() : m_counter(0) { } 27 MockCanceller() : m_counter(0) { }
27 void cancel() override { ++m_counter; } 28 void cancel() override { ++m_counter; }
28 int counter() const { return m_counter; } 29 int counter() const { return m_counter; }
29 30
30 private: 31 private:
31 int m_counter; 32 int m_counter;
32 }; 33 };
34 */
33 35
34 PassOwnPtr<WebServiceWorkerResponse> createTestWebServiceWorkerResponse() 36 PassOwnPtr<WebServiceWorkerResponse> createTestWebServiceWorkerResponse()
35 { 37 {
36 const KURL url(ParsedURLString, "http://www.webresponse.com/"); 38 const KURL url(ParsedURLString, "http://www.webresponse.com/");
37 const unsigned short status = 200; 39 const unsigned short status = 200;
38 const String statusText = "the best status text"; 40 const String statusText = "the best status text";
39 struct { 41 struct {
40 const char* key; 42 const char* key;
41 const char* value; 43 const char* value;
42 } headers[] = { { "cache-control", "no-cache" }, { "set-cookie", "foop" }, { "foo", "bar" }, { 0, 0 } }; 44 } headers[] = { { "cache-control", "no-cache" }, { "set-cookie", "foop" }, { "foo", "bar" }, { 0, 0 } };
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 Response* response = Response::create(executionContext(), *webResponse); 182 Response* response = Response::create(executionContext(), *webResponse);
181 183
182 Headers* responseHeaders = response->headers(); 184 Headers* responseHeaders = response->headers();
183 TrackExceptionState exceptionState; 185 TrackExceptionState exceptionState;
184 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d ata()); 186 EXPECT_STREQ("", responseHeaders->get("set-cookie", exceptionState).utf8().d ata());
185 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data()); 187 EXPECT_STREQ("", responseHeaders->get("foo", exceptionState).utf8().data());
186 EXPECT_STREQ("", responseHeaders->get("cache-control", exceptionState).utf8( ).data()); 188 EXPECT_STREQ("", responseHeaders->get("cache-control", exceptionState).utf8( ).data());
187 EXPECT_FALSE(exceptionState.hadException()); 189 EXPECT_FALSE(exceptionState.hadException());
188 } 190 }
189 191
192 /*
190 void checkResponseBlobHandle(Response* response, bool hasNonInternalBlobHandle, const unsigned long long blobSize) 193 void checkResponseBlobHandle(Response* response, bool hasNonInternalBlobHandle, const unsigned long long blobSize)
191 { 194 {
192 EXPECT_TRUE(response->internalBlobDataHandle()); 195 EXPECT_TRUE(response->internalBlobDataHandle());
193 EXPECT_EQ(blobSize, response->internalBlobDataHandle()->size()); 196 EXPECT_EQ(blobSize, response->internalBlobDataHandle()->size());
194 EXPECT_FALSE(response->internalBuffer()); 197 EXPECT_FALSE(response->internalBuffer());
195 if (hasNonInternalBlobHandle) { 198 if (hasNonInternalBlobHandle) {
196 EXPECT_TRUE(response->blobDataHandle()); 199 EXPECT_TRUE(response->blobDataHandle());
197 EXPECT_EQ(response->blobDataHandle(), response->internalBlobDataHandle() ); 200 EXPECT_EQ(response->blobDataHandle(), response->internalBlobDataHandle() );
198 EXPECT_EQ(blobSize, response->blobDataHandle()->size()); 201 EXPECT_EQ(blobSize, response->blobDataHandle()->size());
199 } else { 202 } else {
(...skipping 13 matching lines...) Expand all
213 if (hasNonInternalBlobHandle) { 216 if (hasNonInternalBlobHandle) {
214 EXPECT_EQ(response->internalBlobDataHandle(), response->blobDataHandle() ); 217 EXPECT_EQ(response->internalBlobDataHandle(), response->blobDataHandle() );
215 EXPECT_EQ(clonedResponse->internalBlobDataHandle(), clonedResponse->blob DataHandle()); 218 EXPECT_EQ(clonedResponse->internalBlobDataHandle(), clonedResponse->blob DataHandle());
216 } else { 219 } else {
217 EXPECT_FALSE(response->blobDataHandle()); 220 EXPECT_FALSE(response->blobDataHandle());
218 EXPECT_FALSE(clonedResponse->blobDataHandle()); 221 EXPECT_FALSE(clonedResponse->blobDataHandle());
219 } 222 }
220 EXPECT_FALSE(response->buffer()); 223 EXPECT_FALSE(response->buffer());
221 EXPECT_FALSE(clonedResponse->buffer()); 224 EXPECT_FALSE(clonedResponse->buffer());
222 } 225 }
226 */
223 227
228 /*
224 TEST_F(ServiceWorkerResponseTest, BlobHandleCloneDefault) 229 TEST_F(ServiceWorkerResponseTest, BlobHandleCloneDefault)
225 { 230 {
226 FetchResponseData* fetchResponseData = FetchResponseData::create(); 231 FetchResponseData* fetchResponseData = FetchResponseData::create();
227 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com")); 232 fetchResponseData->setURL(KURL(ParsedURLString, "http://www.response.com"));
228 OwnPtr<BlobData> blobData(BlobData::create()); 233 OwnPtr<BlobData> blobData(BlobData::create());
229 blobData->appendBytes(kTestData, sizeof(kTestData) - 1); 234 blobData->appendBytes(kTestData, sizeof(kTestData) - 1);
230 const unsigned long long size = blobData->length(); 235 const unsigned long long size = blobData->length();
231 fetchResponseData->setBlobDataHandle(BlobDataHandle::create(blobData.release (), size)); 236 fetchResponseData->setBlobDataHandle(BlobDataHandle::create(blobData.release (), size));
232 checkResponseBlobHandle(Response::create(executionContext(), fetchResponseDa ta), true, size); 237 checkResponseBlobHandle(Response::create(executionContext(), fetchResponseDa ta), true, size);
233 } 238 }
(...skipping 29 matching lines...) Expand all
263 OwnPtr<BlobData> blobData(BlobData::create()); 268 OwnPtr<BlobData> blobData(BlobData::create());
264 blobData->appendBytes(kTestData, sizeof(kTestData) - 1); 269 blobData->appendBytes(kTestData, sizeof(kTestData) - 1);
265 const unsigned long long size = blobData->length(); 270 const unsigned long long size = blobData->length();
266 fetchResponseData->setBlobDataHandle(BlobDataHandle::create(blobData.release (), size)); 271 fetchResponseData->setBlobDataHandle(BlobDataHandle::create(blobData.release (), size));
267 fetchResponseData = fetchResponseData->createOpaqueFilteredResponse(); 272 fetchResponseData = fetchResponseData->createOpaqueFilteredResponse();
268 checkResponseBlobHandle(Response::create(executionContext(), fetchResponseDa ta), false, size); 273 checkResponseBlobHandle(Response::create(executionContext(), fetchResponseDa ta), false, size);
269 } 274 }
270 275
271 void checkResponseStream(Response* response, bool checkResponseBodyStreamBuffer) 276 void checkResponseStream(Response* response, bool checkResponseBodyStreamBuffer)
272 { 277 {
273 BodyStreamBuffer* buffer = response->internalBuffer(); 278 BodyStreamBuffer2* buffer = response->internalBuffer();
274 EXPECT_FALSE(response->internalBlobDataHandle()); 279 // EXPECT_FALSE(response->internalBlobDataHandle());
275 EXPECT_FALSE(response->blobDataHandle()); 280 // EXPECT_FALSE(response->blobDataHandle());
276 if (checkResponseBodyStreamBuffer) { 281 if (checkResponseBodyStreamBuffer) {
277 EXPECT_EQ(response->buffer(), buffer); 282 EXPECT_EQ(response->buffer(), buffer);
278 } else { 283 } else {
279 EXPECT_FALSE(response->buffer()); 284 EXPECT_FALSE(response->buffer());
280 } 285 }
281 286
282 TrackExceptionState exceptionState; 287 TrackExceptionState exceptionState;
283 Response* clonedResponse = response->clone(exceptionState); 288 Response* clonedResponse = response->clone(exceptionState);
284 EXPECT_FALSE(exceptionState.hadException()); 289 EXPECT_FALSE(exceptionState.hadException());
285 EXPECT_FALSE(response->internalBlobDataHandle()); 290 // EXPECT_FALSE(response->internalBlobDataHandle());
286 EXPECT_FALSE(response->blobDataHandle()); 291 // EXPECT_FALSE(response->blobDataHandle());
287 EXPECT_FALSE(clonedResponse->internalBlobDataHandle()); 292 // EXPECT_FALSE(clonedResponse->internalBlobDataHandle());
288 EXPECT_FALSE(clonedResponse->blobDataHandle()); 293 // EXPECT_FALSE(clonedResponse->blobDataHandle());
289 294
290 EXPECT_TRUE(response->internalBuffer()); 295 EXPECT_TRUE(response->internalBuffer());
291 EXPECT_TRUE(clonedResponse->internalBuffer()); 296 EXPECT_TRUE(clonedResponse->internalBuffer());
292 EXPECT_NE(response->internalBuffer(), buffer); 297 EXPECT_NE(response->internalBuffer(), buffer);
293 EXPECT_NE(clonedResponse->internalBuffer(), buffer); 298 EXPECT_NE(clonedResponse->internalBuffer(), buffer);
294 EXPECT_NE(response->internalBuffer(), clonedResponse->internalBuffer()); 299 EXPECT_NE(response->internalBuffer(), clonedResponse->internalBuffer());
295 if (checkResponseBodyStreamBuffer) { 300 if (checkResponseBodyStreamBuffer) {
296 EXPECT_EQ(response->buffer(), response->internalBuffer()); 301 EXPECT_EQ(response->buffer(), response->internalBuffer());
297 EXPECT_EQ(clonedResponse->buffer(), clonedResponse->internalBuffer()); 302 EXPECT_EQ(clonedResponse->buffer(), clonedResponse->internalBuffer());
298 } else { 303 } else {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 Response* response = Response::create(executionContext(), fetchResponseData) ; 395 Response* response = Response::create(executionContext(), fetchResponseData) ;
391 TrackExceptionState exceptionState; 396 TrackExceptionState exceptionState;
392 Response* clonedResponse = response->clone(exceptionState); 397 Response* clonedResponse = response->clone(exceptionState);
393 398
394 EXPECT_EQ(0, canceller->counter()); 399 EXPECT_EQ(0, canceller->counter());
395 response->bufferForTest()->cancel(); 400 response->bufferForTest()->cancel();
396 EXPECT_EQ(0, canceller->counter()); 401 EXPECT_EQ(0, canceller->counter());
397 clonedResponse->bufferForTest()->cancel(); 402 clonedResponse->bufferForTest()->cancel();
398 EXPECT_EQ(1, canceller->counter()); 403 EXPECT_EQ(1, canceller->counter());
399 } 404 }
405 */
400 406
401 } // namespace 407 } // namespace
402 } // namespace blink 408 } // namespace blink
OLDNEW
« no previous file with comments | « Source/modules/fetch/Response.cpp ('k') | Source/modules/modules.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698