Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: components/cast_channel/cast_test_util.h

Issue 2942993003: [cast_channel] Make CastMessageHandler a CastSocket::Observer instead of CastTransport::Delegate (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_ 5 #ifndef COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_
6 #define COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_ 6 #define COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 ~MockCastTransportDelegate() override; 47 ~MockCastTransportDelegate() override;
48 48
49 MOCK_METHOD1(OnError, void(ChannelError error)); 49 MOCK_METHOD1(OnError, void(ChannelError error));
50 MOCK_METHOD1(OnMessage, void(const CastMessage& message)); 50 MOCK_METHOD1(OnMessage, void(const CastMessage& message));
51 MOCK_METHOD0(Start, void(void)); 51 MOCK_METHOD0(Start, void(void));
52 52
53 private: 53 private:
54 DISALLOW_COPY_AND_ASSIGN(MockCastTransportDelegate); 54 DISALLOW_COPY_AND_ASSIGN(MockCastTransportDelegate);
55 }; 55 };
56 56
57 class MockCastSocketObserver : public CastSocket::Observer {
58 public:
59 MockCastSocketObserver();
60 ~MockCastSocketObserver() override;
61
62 MOCK_METHOD2(OnError, void(const CastSocket& socket, ChannelError error));
63 MOCK_METHOD2(OnMessage,
64 void(const CastSocket& socket, const CastMessage& message));
65 };
66
57 class MockCastSocket : public CastSocket { 67 class MockCastSocket : public CastSocket {
58 public: 68 public:
59 MockCastSocket(); 69 MockCastSocket();
60 ~MockCastSocket() override; 70 ~MockCastSocket() override;
61 71
62 // Mockable version of Connect. Accepts a bare pointer to a mock object. 72 // Mockable version of Connect. Accepts a bare pointer to a mock object.
63 // (GMock won't compile with scoped_ptr method parameters.) 73 // (GMock won't compile with scoped_ptr method parameters.)
64 MOCK_METHOD2(ConnectRawPtr, 74 MOCK_METHOD2(AddObserverInternal,
65 void(CastTransport::Delegate* delegate, 75 void(const std::string& id, Observer* observer));
66 base::Callback<void(ChannelError)> callback));
67 76
68 // Proxy for ConnectRawPtr. Unpacks scoped_ptr into a GMock-friendly bare 77 // Proxy for ConnectRawPtr. Unpacks scoped_ptr into a GMock-friendly bare
69 // ptr. 78 // ptr.
70 void Connect(std::unique_ptr<CastTransport::Delegate> delegate, 79 void AddObserver(const std::string& id,
71 base::Callback<void(ChannelError)> callback) override { 80 std::unique_ptr<Observer> observer) override {
72 delegate_ = std::move(delegate); 81 observer_ = std::move(observer);
73 ConnectRawPtr(delegate_.get(), callback); 82 AddObserverInternal(id, observer_.get());
74 } 83 }
75 84
85 MOCK_METHOD1(Connect, void(base::Callback<void(ChannelError)> callback));
76 MOCK_METHOD1(Close, void(const net::CompletionCallback& callback)); 86 MOCK_METHOD1(Close, void(const net::CompletionCallback& callback));
77 MOCK_CONST_METHOD0(ip_endpoint, const net::IPEndPoint&()); 87 MOCK_CONST_METHOD0(ip_endpoint, const net::IPEndPoint&());
78 MOCK_CONST_METHOD0(id, int()); 88 MOCK_CONST_METHOD0(id, int());
79 MOCK_METHOD1(set_id, void(int id)); 89 MOCK_METHOD1(set_id, void(int id));
80 MOCK_CONST_METHOD0(ready_state, ReadyState()); 90 MOCK_CONST_METHOD0(ready_state, ReadyState());
81 MOCK_CONST_METHOD0(error_state, ChannelError()); 91 MOCK_CONST_METHOD0(error_state, ChannelError());
82 MOCK_CONST_METHOD0(keep_alive, bool(void)); 92 MOCK_CONST_METHOD0(keep_alive, bool(void));
83 MOCK_CONST_METHOD0(audio_only, bool(void)); 93 MOCK_CONST_METHOD0(audio_only, bool(void));
84 MOCK_METHOD1(SetErrorState, void(ChannelError error_state)); 94 MOCK_METHOD1(SetErrorState, void(ChannelError error_state));
95 MOCK_METHOD1(HasObserver, bool(const std::string& id));
85 96
86 CastTransport* transport() const override { return mock_transport_.get(); } 97 CastTransport* transport() const override { return mock_transport_.get(); }
87 98
88 MockCastTransport* mock_transport() const { return mock_transport_.get(); } 99 MockCastTransport* mock_transport() const { return mock_transport_.get(); }
89 100
90 private: 101 private:
91 std::unique_ptr<MockCastTransport> mock_transport_; 102 std::unique_ptr<MockCastTransport> mock_transport_;
92 std::unique_ptr<CastTransport::Delegate> delegate_; 103 std::unique_ptr<Observer> observer_;
93 104
94 DISALLOW_COPY_AND_ASSIGN(MockCastSocket); 105 DISALLOW_COPY_AND_ASSIGN(MockCastSocket);
95 }; 106 };
96 107
97 // Creates the IPEndpoint 192.168.1.1. 108 // Creates the IPEndpoint 192.168.1.1.
98 net::IPEndPoint CreateIPEndPointForTest(); 109 net::IPEndPoint CreateIPEndPointForTest();
99 110
100 // Checks if two proto messages are the same. 111 // Checks if two proto messages are the same.
101 // From 112 // From
102 // third_party/cacheinvalidation/overrides/google/cacheinvalidation/deps/gmock.h 113 // third_party/cacheinvalidation/overrides/google/cacheinvalidation/deps/gmock.h
103 // TODO(kmarshall): promote to a shared testing library. 114 // TODO(kmarshall): promote to a shared testing library.
104 MATCHER_P(EqualsProto, message, "") { 115 MATCHER_P(EqualsProto, message, "") {
105 std::string expected_serialized, actual_serialized; 116 std::string expected_serialized, actual_serialized;
106 message.SerializeToString(&expected_serialized); 117 message.SerializeToString(&expected_serialized);
107 arg.SerializeToString(&actual_serialized); 118 arg.SerializeToString(&actual_serialized);
108 return expected_serialized == actual_serialized; 119 return expected_serialized == actual_serialized;
109 } 120 }
110 121
111 ACTION_TEMPLATE(PostCompletionCallbackTask, 122 ACTION_TEMPLATE(PostCompletionCallbackTask,
112 HAS_1_TEMPLATE_PARAMS(int, cb_idx), 123 HAS_1_TEMPLATE_PARAMS(int, cb_idx),
113 AND_1_VALUE_PARAMS(rv)) { 124 AND_1_VALUE_PARAMS(rv)) {
114 base::ThreadTaskRunnerHandle::Get()->PostTask( 125 base::ThreadTaskRunnerHandle::Get()->PostTask(
115 FROM_HERE, base::Bind(testing::get<cb_idx>(args), rv)); 126 FROM_HERE, base::Bind(testing::get<cb_idx>(args), rv));
116 } 127 }
117 128
118 } // namespace cast_channel 129 } // namespace cast_channel
119 130
120 #endif // COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_ 131 #endif // COMPONENTS_CAST_CHANNEL_CAST_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698