blob: 41ade535ece9b0c651e265b183f415d5980674a8 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_BYTES_CONSUMER_TEST_UTIL_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_BYTES_CONSUMER_TEST_UTIL_H_
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/fetch/fetch_data_loader.h"
#include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/loader/fetch/bytes_consumer.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
class BytesConsumerTestUtil {
STATIC_ONLY(BytesConsumerTestUtil);
public:
class MockBytesConsumer : public BytesConsumer {
public:
MOCK_METHOD2(BeginRead, Result(const char**, size_t*));
MOCK_METHOD1(EndRead, Result(size_t));
MOCK_METHOD1(DrainAsBlobDataHandle,
scoped_refptr<BlobDataHandle>(BlobSizePolicy));
MOCK_METHOD0(DrainAsFormData, scoped_refptr<EncodedFormData>());
MOCK_METHOD1(SetClient, void(Client*));
MOCK_METHOD0(ClearClient, void());
MOCK_METHOD0(Cancel, void());
MOCK_CONST_METHOD0(GetPublicState, PublicState());
MOCK_CONST_METHOD0(GetError, Error());
MockBytesConsumer();
String DebugName() const override { return "MockBytesConsumer"; }
};
class MockFetchDataLoaderClient
: public GarbageCollected<MockFetchDataLoaderClient>,
public FetchDataLoader::Client {
USING_GARBAGE_COLLECTED_MIXIN(MockFetchDataLoaderClient);
public:
void Trace(Visitor* visitor) override {
FetchDataLoader::Client::Trace(visitor);
}
MOCK_METHOD1(DidFetchDataLoadedBlobHandleMock,
void(scoped_refptr<BlobDataHandle>));
MOCK_METHOD1(DidFetchDataLoadedArrayBufferMock, void(DOMArrayBuffer*));
MOCK_METHOD1(DidFetchDataLoadedFormDataMock, void(FormData*));
MOCK_METHOD1(DidFetchDataLoadedString, void(const String&));
MOCK_METHOD0(DidFetchDataLoadStream, void());
MOCK_METHOD0(DidFetchDataLoadFailed, void());
MOCK_METHOD0(Abort, void());
void DidFetchDataLoadedArrayBuffer(DOMArrayBuffer* array_buffer) override {
DidFetchDataLoadedArrayBufferMock(array_buffer);
}
// TODO(yhirano): Remove DidFetchDataLoadedBlobHandleMock.
void DidFetchDataLoadedBlobHandle(
scoped_refptr<BlobDataHandle> blob_data_handle) override {
DidFetchDataLoadedBlobHandleMock(std::move(blob_data_handle));
}
void DidFetchDataLoadedFormData(FormData* FormData) override {
DidFetchDataLoadedFormDataMock(FormData);
}
};
static String CharVectorToString(const Vector<char>&);
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_BYTES_CONSUMER_TEST_UTIL_H_