Chromium Code Reviews| Index: third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
| diff --git a/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp b/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
| index b79f4ea2e6f87910c434df582563b098a14f3e1b..34af58149e8db3ffa624290a972332d2ff88727d 100644 |
| --- a/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
| +++ b/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
| @@ -6,14 +6,16 @@ |
| #include "core/dom/DOMTypedArray.h" |
| #include "core/html/FormData.h" |
| -#include "core/loader/ThreadableLoader.h" |
| +#include "core/loader/MockThreadableLoader.h" |
| #include "core/loader/ThreadableLoaderClient.h" |
| #include "core/testing/DummyPageHolder.h" |
| #include "modules/fetch/DataConsumerHandleTestUtil.h" |
| #include "platform/network/ResourceResponse.h" |
| #include "platform/testing/UnitTestHelpers.h" |
| #include "platform/weborigin/KURL.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "wtf/PassOwnPtr.h" |
| #include "wtf/PassRefPtr.h" |
| #include "wtf/RefPtr.h" |
| #include "wtf/Vector.h" |
| @@ -37,29 +39,36 @@ using HandleReaderRunner = DataConsumerHandleTestUtil::HandleReaderRunner<T>; |
| using ReplayingHandle = DataConsumerHandleTestUtil::ReplayingHandle; |
| using Command = DataConsumerHandleTestUtil::Command; |
| +using ::testing::_; |
| +using ::testing::InvokeWithoutArgs; |
| + |
| String toString(const Vector<char>& data) |
| { |
| return String(data.data(), data.size()); |
| } |
| -class NoopLoader final : public ThreadableLoader { |
| -public: |
| - static PassRefPtr<ThreadableLoader> create() { return adoptRef(new NoopLoader); } |
| - void overrideTimeout(unsigned long) override {} |
| - void cancel() override {} |
| -}; |
| - |
| class LoaderFactory : public FetchBlobDataConsumerHandle::LoaderFactory { |
| public: |
| - explicit LoaderFactory(PassOwnPtr<WebDataConsumerHandle> handle) : m_handle(handle) {} |
| - PassRefPtr<ThreadableLoader> create(ExecutionContext&, ThreadableLoaderClient* client, const ResourceRequest&, const ThreadableLoaderOptions&, const ResourceLoaderOptions&) override |
| + explicit LoaderFactory(PassOwnPtr<WebDataConsumerHandle> handle) |
| + : m_client(nullptr) |
| + , m_handle(handle) {} |
| + PassRefPtr<ThreadableLoader> create(ExecutionContext&, ThreadableLoaderClient* client, const ThreadableLoaderOptions&, const ResourceLoaderOptions&) override |
| { |
| - RefPtr<ThreadableLoader> loader = NoopLoader::create(); |
| - client->didReceiveResponse(0, ResourceResponse(), m_handle.release()); |
| + m_client = client; |
| + |
| + RefPtr<MockThreadableLoader> loader = MockThreadableLoader::create(); |
| + EXPECT_CALL(*loader, start(_)).Times(1).WillOnce(InvokeWithoutArgs(this, &LoaderFactory::handleDidReceiveResponse)); |
|
hiroshige
2016/02/05 08:11:53
nit: |Times(1).WillOnce(...)| looks redundant. Is
tyoshino (SeeGerritForStatus)
2016/02/09 14:42:02
Yeah. We're using the StrictMock, so WillOnce() is
|
| + EXPECT_CALL(*loader, cancel()).Times(1); |
| return loader.release(); |
| } |
| private: |
| + void handleDidReceiveResponse() |
| + { |
| + m_client->didReceiveResponse(0, ResourceResponse(), m_handle.release()); |
| + } |
| + |
| + ThreadableLoaderClient* m_client; |
| OwnPtr<WebDataConsumerHandle> m_handle; |
| }; |