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 2c6ae58a98b0bce58e28aee24b1e35ab58b84fa3..b1e595a753f3f561e2179551cd34f6d5d53210ee 100644 |
--- a/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
+++ b/third_party/WebKit/Source/modules/fetch/FetchFormDataConsumerHandleTest.cpp |
@@ -15,6 +15,7 @@ |
#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" |
@@ -38,6 +39,9 @@ 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()); |
@@ -45,16 +49,26 @@ String toString(const Vector<char>& data) |
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 |
{ |
+ m_client = client; |
+ |
RefPtr<MockThreadableLoader> loader = MockThreadableLoader::create(); |
+ EXPECT_CALL(*loader, start(_)).WillOnce(InvokeWithoutArgs(this, &LoaderFactory::handleDidReceiveResponse)); |
EXPECT_CALL(*loader, cancel()).Times(1); |
- client->didReceiveResponse(0, ResourceResponse(), m_handle.release()); |
return loader.release(); |
} |
private: |
+ void handleDidReceiveResponse() |
+ { |
+ m_client->didReceiveResponse(0, ResourceResponse(), m_handle.release()); |
+ } |
+ |
+ ThreadableLoaderClient* m_client; |
OwnPtr<WebDataConsumerHandle> m_handle; |
}; |