| Index: third_party/WebKit/Source/modules/fetch/FetchDataLoaderTest.cpp
|
| diff --git a/third_party/WebKit/Source/modules/fetch/FetchDataLoaderTest.cpp b/third_party/WebKit/Source/modules/fetch/FetchDataLoaderTest.cpp
|
| index 666ac4404bfaa9fba403fde6599004f152572f8a..169f07182e03932c38b836ce98f59b02d1222fca 100644
|
| --- a/third_party/WebKit/Source/modules/fetch/FetchDataLoaderTest.cpp
|
| +++ b/third_party/WebKit/Source/modules/fetch/FetchDataLoaderTest.cpp
|
| @@ -13,6 +13,7 @@ namespace blink {
|
|
|
| namespace {
|
|
|
| +using ::testing::ByMove;
|
| using ::testing::InSequence;
|
| using ::testing::Return;
|
| using ::testing::DoAll;
|
| @@ -41,14 +42,17 @@ TEST(FetchDataLoaderTest, LoadAsBlob)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle("text/test");
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
| RefPtr<BlobDataHandle> blobDataHandle;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).WillOnce(Return(nullptr));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengthWithTerminatingNull), Return(kOk)));
|
| @@ -59,9 +63,6 @@ TEST(FetchDataLoaderTest, LoadAsBlob)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -82,13 +83,16 @@ TEST(FetchDataLoaderTest, LoadAsBlobFailed)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| is adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle("text/test");
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).WillOnce(Return(nullptr));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengthWithTerminatingNull), Return(kOk)));
|
| @@ -99,9 +103,6 @@ TEST(FetchDataLoaderTest, LoadAsBlobFailed)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -117,21 +118,21 @@ TEST(FetchDataLoaderTest, LoadAsBlobCancel)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle("text/test");
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(Return(ByMove(WTF::wrapUnique(reader))));
|
| EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).WillOnce(Return(nullptr));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, destruct());
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -149,23 +150,23 @@ TEST(FetchDataLoaderTest, LoadAsBlobViaDrainAsBlobDataHandleWithSameContentType)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle("text/test");
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
| RefPtr<BlobDataHandle> blobDataHandle;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(Return(ByMove(WTF::wrapUnique(reader))));
|
| EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).WillOnce(Return(inputBlobDataHandle));
|
| EXPECT_CALL(*reader, destruct());
|
| EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedBlobHandleMock(_)).WillOnce(SaveArg<0>(&blobDataHandle));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -188,23 +189,23 @@ TEST(FetchDataLoaderTest, LoadAsBlobViaDrainAsBlobDataHandleWithDifferentContent
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsBlobHandle("text/test");
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
| RefPtr<BlobDataHandle> blobDataHandle;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(Return(ByMove(WTF::wrapUnique(reader))));
|
| EXPECT_CALL(*reader, drainAsBlobDataHandle(kDisallowBlobWithInvalidSize)).WillOnce(Return(inputBlobDataHandle));
|
| EXPECT_CALL(*reader, destruct());
|
| EXPECT_CALL(*fetchDataLoaderClient, didFetchDataLoadedBlobHandleMock(_)).WillOnce(SaveArg<0>(&blobDataHandle));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -223,14 +224,17 @@ TEST(FetchDataLoaderTest, LoadAsArrayBuffer)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffer();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
| DOMArrayBuffer* arrayBuffer = nullptr;
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengthWithTerminatingNull), Return(kOk)));
|
| EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillOnce(Return(kOk));
|
| @@ -240,9 +244,6 @@ TEST(FetchDataLoaderTest, LoadAsArrayBuffer)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -263,13 +264,16 @@ TEST(FetchDataLoaderTest, LoadAsArrayBufferFailed)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffer();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLengthWithTerminatingNull), Return(kOk)));
|
| EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillOnce(Return(kOk));
|
| @@ -279,9 +283,6 @@ TEST(FetchDataLoaderTest, LoadAsArrayBufferFailed)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -297,20 +298,19 @@ TEST(FetchDataLoaderTest, LoadAsArrayBufferCancel)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsArrayBuffer();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(Return(ByMove(WTF::wrapUnique(reader))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, destruct());
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -324,13 +324,16 @@ TEST(FetchDataLoaderTest, LoadAsString)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLength), Return(kOk)));
|
| EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk));
|
| @@ -340,9 +343,6 @@ TEST(FetchDataLoaderTest, LoadAsString)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -359,13 +359,16 @@ TEST(FetchDataLoaderTest, LoadAsStringWithNullBytes)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>("Quick\0brown\0fox")), SetArgPointee<2>(16), Return(kOk)));
|
| EXPECT_CALL(*reader, endRead(kQuickBrownFoxLengthWithTerminatingNull)).WillOnce(Return(kOk));
|
| @@ -375,9 +378,6 @@ TEST(FetchDataLoaderTest, LoadAsStringWithNullBytes)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -394,13 +394,16 @@ TEST(FetchDataLoaderTest, LoadAsStringError)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(reader.get())));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(DoAll(SaveArg<0>(&client), Return(ByMove(WTF::wrapUnique(reader)))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, beginRead(_, kNone, _)).WillOnce(DoAll(SetArgPointee<0>(static_cast<const void*>(kQuickBrownFox)), SetArgPointee<2>(kQuickBrownFoxLength), Return(kOk)));
|
| EXPECT_CALL(*reader, endRead(kQuickBrownFoxLength)).WillOnce(Return(kOk));
|
| @@ -410,9 +413,6 @@ TEST(FetchDataLoaderTest, LoadAsStringError)
|
| EXPECT_CALL(checkpoint, Call(3));
|
| EXPECT_CALL(checkpoint, Call(4));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
| @@ -428,20 +428,20 @@ TEST(FetchDataLoaderTest, LoadAsStringCancel)
|
| Checkpoint checkpoint;
|
|
|
| std::unique_ptr<MockHandle> handle = MockHandle::create();
|
| - std::unique_ptr<MockReader> reader = MockReader::create();
|
| +
|
| + // |reader| will be adopted by |obtainFetchDataReader|.
|
| + MockReader* reader = MockReader::create().release();
|
| +
|
| FetchDataLoader* fetchDataLoader = FetchDataLoader::createLoaderAsString();
|
| MockFetchDataLoaderClient* fetchDataLoaderClient = MockFetchDataLoaderClient::create();
|
|
|
| InSequence s;
|
| EXPECT_CALL(checkpoint, Call(1));
|
| - EXPECT_CALL(*handle, obtainReaderInternal(_)).WillOnce(Return(reader.get()));
|
| + EXPECT_CALL(*handle, obtainFetchDataReader(_)).WillOnce(Return(ByMove(WTF::wrapUnique(reader))));
|
| EXPECT_CALL(checkpoint, Call(2));
|
| EXPECT_CALL(*reader, destruct());
|
| EXPECT_CALL(checkpoint, Call(3));
|
|
|
| - // |reader| is adopted by |obtainReader|.
|
| - ASSERT_TRUE(reader.release());
|
| -
|
| checkpoint.Call(1);
|
| fetchDataLoader->start(handle.get(), fetchDataLoaderClient);
|
| checkpoint.Call(2);
|
|
|