| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_SPDY_MOCK_SPDY_FRAMER_VISITOR_H_ | |
| 6 #define NET_SPDY_MOCK_SPDY_FRAMER_VISITOR_H_ | |
| 7 | |
| 8 #include <stddef.h> | |
| 9 #include <stdint.h> | |
| 10 | |
| 11 #include <cstdint> | |
| 12 #include <memory> | |
| 13 | |
| 14 #include "net/spdy/platform/api/spdy_string_piece.h" | |
| 15 #include "net/spdy/spdy_framer.h" | |
| 16 #include "net/spdy/spdy_test_utils.h" | |
| 17 #include "testing/gmock/include/gmock/gmock.h" | |
| 18 | |
| 19 namespace net { | |
| 20 | |
| 21 namespace test { | |
| 22 | |
| 23 class MockSpdyFramerVisitor : public SpdyFramerVisitorInterface { | |
| 24 public: | |
| 25 MockSpdyFramerVisitor(); | |
| 26 virtual ~MockSpdyFramerVisitor(); | |
| 27 MOCK_METHOD1(OnError, void(SpdyFramer* framer)); | |
| 28 MOCK_METHOD3(OnDataFrameHeader, void(SpdyStreamId stream_id, | |
| 29 size_t length, | |
| 30 bool fin)); | |
| 31 MOCK_METHOD3(OnStreamFrameData, | |
| 32 void(SpdyStreamId stream_id, const char* data, size_t len)); | |
| 33 MOCK_METHOD1(OnStreamEnd, void(SpdyStreamId stream_id)); | |
| 34 MOCK_METHOD2(OnStreamPadding, void(SpdyStreamId stream_id, size_t len)); | |
| 35 MOCK_METHOD1(OnHeaderFrameStart, | |
| 36 SpdyHeadersHandlerInterface*(SpdyStreamId stream_id)); | |
| 37 MOCK_METHOD2(OnHeaderFrameEnd, void(SpdyStreamId stream_id, bool end)); | |
| 38 MOCK_METHOD2(OnRstStream, | |
| 39 void(SpdyStreamId stream_id, SpdyErrorCode error_code)); | |
| 40 MOCK_METHOD1(OnSettings, void(bool clear_persisted)); | |
| 41 MOCK_METHOD2(OnSetting, void(SpdySettingsIds id, uint32_t value)); | |
| 42 MOCK_METHOD2(OnPing, void(SpdyPingId unique_id, bool is_ack)); | |
| 43 MOCK_METHOD0(OnSettingsEnd, void()); | |
| 44 MOCK_METHOD2(OnGoAway, | |
| 45 void(SpdyStreamId last_accepted_stream_id, | |
| 46 SpdyErrorCode error_code)); | |
| 47 MOCK_METHOD7(OnHeaders, | |
| 48 void(SpdyStreamId stream_id, | |
| 49 bool has_priority, | |
| 50 int weight, | |
| 51 SpdyStreamId parent_stream_id, | |
| 52 bool exclusive, | |
| 53 bool fin, | |
| 54 bool end)); | |
| 55 MOCK_METHOD2(OnWindowUpdate, | |
| 56 void(SpdyStreamId stream_id, int delta_window_size)); | |
| 57 MOCK_METHOD3(OnPushPromise, void(SpdyStreamId stream_id, | |
| 58 SpdyStreamId promised_stream_id, | |
| 59 bool end)); | |
| 60 MOCK_METHOD2(OnContinuation, void(SpdyStreamId stream_id, bool end)); | |
| 61 MOCK_METHOD3(OnAltSvc, | |
| 62 void(SpdyStreamId stream_id, | |
| 63 SpdyStringPiece origin, | |
| 64 const SpdyAltSvcWireFormat::AlternativeServiceVector& | |
| 65 altsvc_vector)); | |
| 66 MOCK_METHOD4(OnPriority, | |
| 67 void(SpdyStreamId stream_id, | |
| 68 SpdyStreamId parent_stream_id, | |
| 69 int weight, | |
| 70 bool exclusive)); | |
| 71 MOCK_METHOD2(OnUnknownFrame, | |
| 72 bool(SpdyStreamId stream_id, uint8_t frame_type)); | |
| 73 | |
| 74 void DelegateHeaderHandling() { | |
| 75 ON_CALL(*this, OnHeaderFrameStart(testing::_)) | |
| 76 .WillByDefault(testing::Invoke( | |
| 77 this, &MockSpdyFramerVisitor::ReturnTestHeadersHandler)); | |
| 78 ON_CALL(*this, OnHeaderFrameEnd(testing::_, testing::_)) | |
| 79 .WillByDefault(testing::Invoke( | |
| 80 this, &MockSpdyFramerVisitor::ResetTestHeadersHandler)); | |
| 81 } | |
| 82 | |
| 83 SpdyHeadersHandlerInterface* ReturnTestHeadersHandler( | |
| 84 SpdyStreamId /* stream_id */) { | |
| 85 if (headers_handler_ == nullptr) { | |
| 86 headers_handler_.reset(new TestHeadersHandler); | |
| 87 } | |
| 88 return headers_handler_.get(); | |
| 89 } | |
| 90 | |
| 91 void ResetTestHeadersHandler(SpdyStreamId /* stream_id */, bool end) { | |
| 92 if (end) { | |
| 93 headers_handler_.reset(); | |
| 94 } | |
| 95 } | |
| 96 | |
| 97 std::unique_ptr<SpdyHeadersHandlerInterface> headers_handler_; | |
| 98 }; | |
| 99 | |
| 100 } // namespace test | |
| 101 | |
| 102 } // namespace net | |
| 103 | |
| 104 #endif // NET_SPDY_MOCK_SPDY_FRAMER_VISITOR_H_ | |
| OLD | NEW |