| Index: net/quic/test_tools/quic_test_utils.h
|
| diff --git a/net/quic/test_tools/quic_test_utils.h b/net/quic/test_tools/quic_test_utils.h
|
| index 25e09731d263349773cc0b6da3041d7e0ae95ccd..dd0d83d2b21ac26e759de3575ad3cb295ec6d314 100644
|
| --- a/net/quic/test_tools/quic_test_utils.h
|
| +++ b/net/quic/test_tools/quic_test_utils.h
|
| @@ -13,6 +13,7 @@
|
| #include <cstdint>
|
| #include <memory>
|
| #include <string>
|
| +#include <utility>
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| @@ -557,6 +558,7 @@ class MockQuicSpdySession : public QuicSpdySession {
|
| ~MockQuicSpdySession() override;
|
|
|
| QuicCryptoStream* GetCryptoStream() override { return crypto_stream_.get(); }
|
| + const SpdyHeaderBlock& GetWriteHeaders() { return write_headers_; }
|
|
|
| // From QuicSession.
|
| MOCK_METHOD3(OnConnectionClosed,
|
| @@ -604,9 +606,21 @@ class MockQuicSpdySession : public QuicSpdySession {
|
| QuicStreamId promised_stream_id,
|
| size_t frame_len,
|
| const QuicHeaderList& header_list));
|
| - MOCK_METHOD5(WriteHeaders,
|
| + // Methods taking non-copyable types like SpdyHeaderBlock by value cannot be
|
| + // mocked directly.
|
| + size_t WriteHeaders(
|
| + QuicStreamId id,
|
| + SpdyHeaderBlock headers,
|
| + bool fin,
|
| + SpdyPriority priority,
|
| + QuicAckListenerInterface* ack_notifier_delegate) override {
|
| + write_headers_ = std::move(headers);
|
| + return WriteHeadersMock(id, write_headers_, fin, priority,
|
| + ack_notifier_delegate);
|
| + }
|
| + MOCK_METHOD5(WriteHeadersMock,
|
| size_t(QuicStreamId id,
|
| - SpdyHeaderBlock headers,
|
| + const SpdyHeaderBlock& headers,
|
| bool fin,
|
| SpdyPriority priority,
|
| QuicAckListenerInterface* ack_notifier_delegate));
|
| @@ -616,6 +630,7 @@ class MockQuicSpdySession : public QuicSpdySession {
|
|
|
| private:
|
| std::unique_ptr<QuicCryptoStream> crypto_stream_;
|
| + SpdyHeaderBlock write_headers_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MockQuicSpdySession);
|
| };
|
|
|