| Index: Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| diff --git a/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp b/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| index 83ac968f6b004d2a2d6c0010a32e6e8e86a8b2fb..c0f1a92fef9d8da3db56c068f9dfe6ec786b128a 100644
|
| --- a/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| +++ b/Source/modules/fetch/FetchBlobDataConsumerHandleTest.cpp
|
| @@ -341,5 +341,41 @@ TEST_F(FetchBlobDataConsumerHandleTest, BodyLoadErrorTest)
|
| EXPECT_EQ(kUnexpectedError, r->result());
|
| }
|
|
|
| +TEST_F(FetchBlobDataConsumerHandleTest, drainAsBlobDataHandle)
|
| +{
|
| + auto factory = new StrictMock<MockLoaderFactory>;
|
| +
|
| + RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| + = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| +
|
| + size_t size = 0;
|
| + EXPECT_EQ(blobDataHandle, handle->obtainReader(nullptr)->drainAsBlobDataHandle());
|
| + EXPECT_FALSE(handle->obtainReader(nullptr)->drainAsFormData());
|
| +
|
| + EXPECT_EQ(kDone, handle->obtainReader(nullptr)->read(nullptr, 0, kNone, &size));
|
| +}
|
| +
|
| +TEST_F(FetchBlobDataConsumerHandleTest, drainAsFormData)
|
| +{
|
| + auto factory = new StrictMock<MockLoaderFactory>;
|
| +
|
| + RefPtr<BlobDataHandle> blobDataHandle = createBlobDataHandle("Once upon a time");
|
| + OwnPtr<FetchDataConsumerHandle> handle
|
| + = FetchBlobDataConsumerHandle::create(&document(), blobDataHandle, factory);
|
| +
|
| + RefPtr<FormData> formData = handle->obtainReader(nullptr)->drainAsFormData();
|
| + ASSERT_TRUE(formData);
|
| + EXPECT_TRUE(formData->hasOneRef());
|
| + ASSERT_EQ(1u, formData->elements().size());
|
| + EXPECT_EQ(FormDataElement::encodedBlob, formData->elements()[0].m_type);
|
| + EXPECT_EQ(blobDataHandle->uuid(), formData->elements()[0].m_blobUUID);
|
| + EXPECT_EQ(blobDataHandle, formData->elements()[0].m_optionalBlobDataHandle);
|
| +
|
| + EXPECT_FALSE(handle->obtainReader(nullptr)->drainAsBlobDataHandle());
|
| + size_t size;
|
| + EXPECT_EQ(kDone, handle->obtainReader(nullptr)->read(nullptr, 0, kNone, &size));
|
| +}
|
| +
|
| } // namespace
|
| } // namespace blink
|
|
|