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

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

Issue 2172183003: Return unique_ptr<WebDataConsumerHandle::Reader> directly from obtainReader (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gmock_cxx11
Patch Set: rebase Created 4 years, 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/FetchBlobDataConsumerHandle.h" 5 #include "modules/fetch/FetchBlobDataConsumerHandle.h"
6 6
7 #include "core/dom/ExecutionContext.h" 7 #include "core/dom/ExecutionContext.h"
8 #include "core/fetch/ResourceLoaderOptions.h" 8 #include "core/fetch/ResourceLoaderOptions.h"
9 #include "core/loader/MockThreadableLoader.h" 9 #include "core/loader/MockThreadableLoader.h"
10 #include "core/loader/ThreadableLoaderClient.h" 10 #include "core/loader/ThreadableLoaderClient.h"
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 351
352 TEST_F(FetchBlobDataConsumerHandleTest, DrainAsBlobDataHandle) 352 TEST_F(FetchBlobDataConsumerHandleTest, DrainAsBlobDataHandle)
353 { 353 {
354 auto factory = new StrictMock<MockLoaderFactory>; 354 auto factory = new StrictMock<MockLoaderFactory>;
355 355
356 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me"); 356 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me");
357 std::unique_ptr<FetchDataConsumerHandle> handle 357 std::unique_ptr<FetchDataConsumerHandle> handle
358 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry); 358 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry);
359 359
360 size_t size = 0; 360 size_t size = 0;
361 EXPECT_EQ(blobDataHandle, handle->obtainReader(nullptr)->drainAsBlobDataHand le()); 361 EXPECT_EQ(blobDataHandle, handle->obtainFetchDataReader(nullptr)->drainAsBlo bDataHandle());
362 EXPECT_FALSE(handle->obtainReader(nullptr)->drainAsFormData()); 362 EXPECT_FALSE(handle->obtainFetchDataReader(nullptr)->drainAsFormData());
363 363
364 EXPECT_EQ(kDone, handle->obtainReader(nullptr)->read(nullptr, 0, kNone, &siz e)); 364 EXPECT_EQ(kDone, handle->obtainReader(nullptr)->read(nullptr, 0, kNone, &siz e));
365 } 365 }
366 366
367 TEST_F(FetchBlobDataConsumerHandleTest, DrainAsFormData) 367 TEST_F(FetchBlobDataConsumerHandleTest, DrainAsFormData)
368 { 368 {
369 auto factory = new StrictMock<MockLoaderFactory>; 369 auto factory = new StrictMock<MockLoaderFactory>;
370 370
371 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me"); 371 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me");
372 std::unique_ptr<FetchDataConsumerHandle> handle 372 std::unique_ptr<FetchDataConsumerHandle> handle
373 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry); 373 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry);
374 374
375 RefPtr<EncodedFormData> formData = handle->obtainReader(nullptr)->drainAsFor mData(); 375 RefPtr<EncodedFormData> formData = handle->obtainFetchDataReader(nullptr)->d rainAsFormData();
376 ASSERT_TRUE(formData); 376 ASSERT_TRUE(formData);
377 EXPECT_TRUE(formData->isSafeToSendToAnotherThread()); 377 EXPECT_TRUE(formData->isSafeToSendToAnotherThread());
378 ASSERT_EQ(1u, formData->elements().size()); 378 ASSERT_EQ(1u, formData->elements().size());
379 EXPECT_EQ(FormDataElement::encodedBlob, formData->elements()[0].m_type); 379 EXPECT_EQ(FormDataElement::encodedBlob, formData->elements()[0].m_type);
380 EXPECT_EQ(blobDataHandle->uuid(), formData->elements()[0].m_blobUUID); 380 EXPECT_EQ(blobDataHandle->uuid(), formData->elements()[0].m_blobUUID);
381 EXPECT_EQ(blobDataHandle, formData->elements()[0].m_optionalBlobDataHandle); 381 EXPECT_EQ(blobDataHandle, formData->elements()[0].m_optionalBlobDataHandle);
382 382
383 EXPECT_FALSE(handle->obtainReader(nullptr)->drainAsBlobDataHandle()); 383 EXPECT_FALSE(handle->obtainFetchDataReader(nullptr)->drainAsBlobDataHandle() );
384 size_t size; 384 size_t size;
385 EXPECT_EQ(kDone, handle->obtainReader(nullptr)->read(nullptr, 0, kNone, &siz e)); 385 EXPECT_EQ(kDone, handle->obtainFetchDataReader(nullptr)->read(nullptr, 0, kN one, &size));
386 } 386 }
387 387
388 TEST_F(FetchBlobDataConsumerHandleTest, ZeroByteReadDoesNotAffectDraining) 388 TEST_F(FetchBlobDataConsumerHandleTest, ZeroByteReadDoesNotAffectDraining)
389 { 389 {
390 auto factory = new StrictMock<MockLoaderFactory>; 390 auto factory = new StrictMock<MockLoaderFactory>;
391 391
392 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me"); 392 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me");
393 std::unique_ptr<FetchDataConsumerHandle> handle 393 std::unique_ptr<FetchDataConsumerHandle> handle
394 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry); 394 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry);
395 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainRead er(nullptr); 395 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainFetc hDataReader(nullptr);
396 396
397 size_t readSize; 397 size_t readSize;
398 EXPECT_EQ(kShouldWait, reader->read(nullptr, 0, kNone, &readSize)); 398 EXPECT_EQ(kShouldWait, reader->read(nullptr, 0, kNone, &readSize));
399 EXPECT_EQ(blobDataHandle, reader->drainAsBlobDataHandle()); 399 EXPECT_EQ(blobDataHandle, reader->drainAsBlobDataHandle());
400 } 400 }
401 401
402 TEST_F(FetchBlobDataConsumerHandleTest, OneByteReadAffectsDraining) 402 TEST_F(FetchBlobDataConsumerHandleTest, OneByteReadAffectsDraining)
403 { 403 {
404 auto factory = new StrictMock<MockLoaderFactory>; 404 auto factory = new StrictMock<MockLoaderFactory>;
405 405
406 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me"); 406 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me");
407 std::unique_ptr<FetchDataConsumerHandle> handle 407 std::unique_ptr<FetchDataConsumerHandle> handle
408 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry); 408 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry);
409 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainRead er(nullptr); 409 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainFetc hDataReader(nullptr);
410 410
411 size_t readSize; 411 size_t readSize;
412 char c; 412 char c;
413 EXPECT_EQ(kShouldWait, reader->read(&c, 1, kNone, &readSize)); 413 EXPECT_EQ(kShouldWait, reader->read(&c, 1, kNone, &readSize));
414 EXPECT_FALSE(reader->drainAsFormData()); 414 EXPECT_FALSE(reader->drainAsFormData());
415 } 415 }
416 416
417 TEST_F(FetchBlobDataConsumerHandleTest, BeginReadAffectsDraining) 417 TEST_F(FetchBlobDataConsumerHandleTest, BeginReadAffectsDraining)
418 { 418 {
419 auto factory = new StrictMock<MockLoaderFactory>; 419 auto factory = new StrictMock<MockLoaderFactory>;
420 420
421 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me"); 421 RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a ti me");
422 std::unique_ptr<FetchDataConsumerHandle> handle 422 std::unique_ptr<FetchDataConsumerHandle> handle
423 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry); 423 = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, facto ry);
424 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainRead er(nullptr); 424 std::unique_ptr<FetchDataConsumerHandle::Reader> reader = handle->obtainFetc hDataReader(nullptr);
425 425
426 const void* buffer; 426 const void* buffer;
427 size_t available; 427 size_t available;
428 EXPECT_EQ(kShouldWait, reader->beginRead(&buffer, kNone, &available)); 428 EXPECT_EQ(kShouldWait, reader->beginRead(&buffer, kNone, &available));
429 EXPECT_FALSE(reader->drainAsBlobDataHandle()); 429 EXPECT_FALSE(reader->drainAsBlobDataHandle());
430 } 430 }
431 431
432 } // namespace 432 } // namespace
433 } // namespace blink 433 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698