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

Side by Side Diff: net/socket_stream/socket_stream_unittest.cc

Issue 667923003: Standardize usage of virtual/override/final in net/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « net/socket_stream/socket_stream.h ('k') | net/spdy/buffered_spdy_framer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #include "net/socket_stream/socket_stream.h" 5 #include "net/socket_stream/socket_stream.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 int error_code; 52 int error_code;
53 }; 53 };
54 54
55 class SocketStreamEventRecorder : public SocketStream::Delegate { 55 class SocketStreamEventRecorder : public SocketStream::Delegate {
56 public: 56 public:
57 // |callback| will be run when the OnClose() or OnError() method is called. 57 // |callback| will be run when the OnClose() or OnError() method is called.
58 // For OnClose(), |callback| is called with OK. For OnError(), it's called 58 // For OnClose(), |callback| is called with OK. For OnError(), it's called
59 // with the error code. 59 // with the error code.
60 explicit SocketStreamEventRecorder(const CompletionCallback& callback) 60 explicit SocketStreamEventRecorder(const CompletionCallback& callback)
61 : callback_(callback) {} 61 : callback_(callback) {}
62 virtual ~SocketStreamEventRecorder() {} 62 ~SocketStreamEventRecorder() override {}
63 63
64 void SetOnStartOpenConnection( 64 void SetOnStartOpenConnection(
65 const base::Callback<int(SocketStreamEvent*)>& callback) { 65 const base::Callback<int(SocketStreamEvent*)>& callback) {
66 on_start_open_connection_ = callback; 66 on_start_open_connection_ = callback;
67 } 67 }
68 void SetOnConnected( 68 void SetOnConnected(
69 const base::Callback<void(SocketStreamEvent*)>& callback) { 69 const base::Callback<void(SocketStreamEvent*)>& callback) {
70 on_connected_ = callback; 70 on_connected_ = callback;
71 } 71 }
72 void SetOnSentData( 72 void SetOnSentData(
73 const base::Callback<void(SocketStreamEvent*)>& callback) { 73 const base::Callback<void(SocketStreamEvent*)>& callback) {
74 on_sent_data_ = callback; 74 on_sent_data_ = callback;
75 } 75 }
76 void SetOnReceivedData( 76 void SetOnReceivedData(
77 const base::Callback<void(SocketStreamEvent*)>& callback) { 77 const base::Callback<void(SocketStreamEvent*)>& callback) {
78 on_received_data_ = callback; 78 on_received_data_ = callback;
79 } 79 }
80 void SetOnClose(const base::Callback<void(SocketStreamEvent*)>& callback) { 80 void SetOnClose(const base::Callback<void(SocketStreamEvent*)>& callback) {
81 on_close_ = callback; 81 on_close_ = callback;
82 } 82 }
83 void SetOnAuthRequired( 83 void SetOnAuthRequired(
84 const base::Callback<void(SocketStreamEvent*)>& callback) { 84 const base::Callback<void(SocketStreamEvent*)>& callback) {
85 on_auth_required_ = callback; 85 on_auth_required_ = callback;
86 } 86 }
87 void SetOnError(const base::Callback<void(SocketStreamEvent*)>& callback) { 87 void SetOnError(const base::Callback<void(SocketStreamEvent*)>& callback) {
88 on_error_ = callback; 88 on_error_ = callback;
89 } 89 }
90 90
91 virtual int OnStartOpenConnection( 91 int OnStartOpenConnection(SocketStream* socket,
92 SocketStream* socket, 92 const CompletionCallback& callback) override {
93 const CompletionCallback& callback) override {
94 connection_callback_ = callback; 93 connection_callback_ = callback;
95 events_.push_back( 94 events_.push_back(
96 SocketStreamEvent(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, 95 SocketStreamEvent(SocketStreamEvent::EVENT_START_OPEN_CONNECTION,
97 socket, 0, std::string(), NULL, OK)); 96 socket, 0, std::string(), NULL, OK));
98 if (!on_start_open_connection_.is_null()) 97 if (!on_start_open_connection_.is_null())
99 return on_start_open_connection_.Run(&events_.back()); 98 return on_start_open_connection_.Run(&events_.back());
100 return OK; 99 return OK;
101 } 100 }
102 virtual void OnConnected(SocketStream* socket, 101 void OnConnected(SocketStream* socket,
103 int num_pending_send_allowed) override { 102 int num_pending_send_allowed) override {
104 events_.push_back( 103 events_.push_back(
105 SocketStreamEvent(SocketStreamEvent::EVENT_CONNECTED, 104 SocketStreamEvent(SocketStreamEvent::EVENT_CONNECTED,
106 socket, num_pending_send_allowed, std::string(), 105 socket, num_pending_send_allowed, std::string(),
107 NULL, OK)); 106 NULL, OK));
108 if (!on_connected_.is_null()) 107 if (!on_connected_.is_null())
109 on_connected_.Run(&events_.back()); 108 on_connected_.Run(&events_.back());
110 } 109 }
111 virtual void OnSentData(SocketStream* socket, 110 void OnSentData(SocketStream* socket, int amount_sent) override {
112 int amount_sent) override {
113 events_.push_back( 111 events_.push_back(
114 SocketStreamEvent(SocketStreamEvent::EVENT_SENT_DATA, socket, 112 SocketStreamEvent(SocketStreamEvent::EVENT_SENT_DATA, socket,
115 amount_sent, std::string(), NULL, OK)); 113 amount_sent, std::string(), NULL, OK));
116 if (!on_sent_data_.is_null()) 114 if (!on_sent_data_.is_null())
117 on_sent_data_.Run(&events_.back()); 115 on_sent_data_.Run(&events_.back());
118 } 116 }
119 virtual void OnReceivedData(SocketStream* socket, 117 void OnReceivedData(SocketStream* socket,
120 const char* data, int len) override { 118 const char* data,
119 int len) override {
121 events_.push_back( 120 events_.push_back(
122 SocketStreamEvent(SocketStreamEvent::EVENT_RECEIVED_DATA, socket, len, 121 SocketStreamEvent(SocketStreamEvent::EVENT_RECEIVED_DATA, socket, len,
123 std::string(data, len), NULL, OK)); 122 std::string(data, len), NULL, OK));
124 if (!on_received_data_.is_null()) 123 if (!on_received_data_.is_null())
125 on_received_data_.Run(&events_.back()); 124 on_received_data_.Run(&events_.back());
126 } 125 }
127 virtual void OnClose(SocketStream* socket) override { 126 void OnClose(SocketStream* socket) override {
128 events_.push_back( 127 events_.push_back(
129 SocketStreamEvent(SocketStreamEvent::EVENT_CLOSE, socket, 0, 128 SocketStreamEvent(SocketStreamEvent::EVENT_CLOSE, socket, 0,
130 std::string(), NULL, OK)); 129 std::string(), NULL, OK));
131 if (!on_close_.is_null()) 130 if (!on_close_.is_null())
132 on_close_.Run(&events_.back()); 131 on_close_.Run(&events_.back());
133 if (!callback_.is_null()) 132 if (!callback_.is_null())
134 callback_.Run(OK); 133 callback_.Run(OK);
135 } 134 }
136 virtual void OnAuthRequired(SocketStream* socket, 135 void OnAuthRequired(SocketStream* socket,
137 AuthChallengeInfo* auth_info) override { 136 AuthChallengeInfo* auth_info) override {
138 events_.push_back( 137 events_.push_back(
139 SocketStreamEvent(SocketStreamEvent::EVENT_AUTH_REQUIRED, socket, 0, 138 SocketStreamEvent(SocketStreamEvent::EVENT_AUTH_REQUIRED, socket, 0,
140 std::string(), auth_info, OK)); 139 std::string(), auth_info, OK));
141 if (!on_auth_required_.is_null()) 140 if (!on_auth_required_.is_null())
142 on_auth_required_.Run(&events_.back()); 141 on_auth_required_.Run(&events_.back());
143 } 142 }
144 virtual void OnError(const SocketStream* socket, int error) override { 143 void OnError(const SocketStream* socket, int error) override {
145 events_.push_back( 144 events_.push_back(
146 SocketStreamEvent(SocketStreamEvent::EVENT_ERROR, NULL, 0, 145 SocketStreamEvent(SocketStreamEvent::EVENT_ERROR, NULL, 0,
147 std::string(), NULL, error)); 146 std::string(), NULL, error));
148 if (!on_error_.is_null()) 147 if (!on_error_.is_null())
149 on_error_.Run(&events_.back()); 148 on_error_.Run(&events_.back());
150 if (!callback_.is_null()) 149 if (!callback_.is_null())
151 callback_.Run(error); 150 callback_.Run(error);
152 } 151 }
153 152
154 void DoClose(SocketStreamEvent* event) { 153 void DoClose(SocketStreamEvent* event) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 DISALLOW_COPY_AND_ASSIGN(SocketStreamEventRecorder); 187 DISALLOW_COPY_AND_ASSIGN(SocketStreamEventRecorder);
189 }; 188 };
190 189
191 // This is used for the test OnErrorDetachDelegate. 190 // This is used for the test OnErrorDetachDelegate.
192 class SelfDeletingDelegate : public SocketStream::Delegate { 191 class SelfDeletingDelegate : public SocketStream::Delegate {
193 public: 192 public:
194 // |callback| must cause the test message loop to exit when called. 193 // |callback| must cause the test message loop to exit when called.
195 explicit SelfDeletingDelegate(const CompletionCallback& callback) 194 explicit SelfDeletingDelegate(const CompletionCallback& callback)
196 : socket_stream_(), callback_(callback) {} 195 : socket_stream_(), callback_(callback) {}
197 196
198 virtual ~SelfDeletingDelegate() {} 197 ~SelfDeletingDelegate() override {}
199 198
200 // Call DetachDelegate(), delete |this|, then run the callback. 199 // Call DetachDelegate(), delete |this|, then run the callback.
201 virtual void OnError(const SocketStream* socket, int error) override { 200 void OnError(const SocketStream* socket, int error) override {
202 // callback_ will be deleted when we delete |this|, so copy it to call it 201 // callback_ will be deleted when we delete |this|, so copy it to call it
203 // afterwards. 202 // afterwards.
204 CompletionCallback callback = callback_; 203 CompletionCallback callback = callback_;
205 socket_stream_->DetachDelegate(); 204 socket_stream_->DetachDelegate();
206 delete this; 205 delete this;
207 callback.Run(OK); 206 callback.Run(OK);
208 } 207 }
209 208
210 // This can't be passed in the constructor because this object needs to be 209 // This can't be passed in the constructor because this object needs to be
211 // created before SocketStream. 210 // created before SocketStream.
212 void set_socket_stream(const scoped_refptr<SocketStream>& socket_stream) { 211 void set_socket_stream(const scoped_refptr<SocketStream>& socket_stream) {
213 socket_stream_ = socket_stream; 212 socket_stream_ = socket_stream;
214 EXPECT_EQ(socket_stream_->delegate(), this); 213 EXPECT_EQ(socket_stream_->delegate(), this);
215 } 214 }
216 215
217 virtual void OnConnected(SocketStream* socket, int max_pending_send_allowed) 216 void OnConnected(SocketStream* socket,
218 override { 217 int max_pending_send_allowed) override {
219 ADD_FAILURE() << "OnConnected() should not be called"; 218 ADD_FAILURE() << "OnConnected() should not be called";
220 } 219 }
221 virtual void OnSentData(SocketStream* socket, int amount_sent) override { 220 void OnSentData(SocketStream* socket, int amount_sent) override {
222 ADD_FAILURE() << "OnSentData() should not be called"; 221 ADD_FAILURE() << "OnSentData() should not be called";
223 } 222 }
224 virtual void OnReceivedData(SocketStream* socket, const char* data, int len) 223 void OnReceivedData(SocketStream* socket,
225 override { 224 const char* data,
225 int len) override {
226 ADD_FAILURE() << "OnReceivedData() should not be called"; 226 ADD_FAILURE() << "OnReceivedData() should not be called";
227 } 227 }
228 virtual void OnClose(SocketStream* socket) override { 228 void OnClose(SocketStream* socket) override {
229 ADD_FAILURE() << "OnClose() should not be called"; 229 ADD_FAILURE() << "OnClose() should not be called";
230 } 230 }
231 231
232 private: 232 private:
233 scoped_refptr<SocketStream> socket_stream_; 233 scoped_refptr<SocketStream> socket_stream_;
234 const CompletionCallback callback_; 234 const CompletionCallback callback_;
235 235
236 DISALLOW_COPY_AND_ASSIGN(SelfDeletingDelegate); 236 DISALLOW_COPY_AND_ASSIGN(SelfDeletingDelegate);
237 }; 237 };
238 238
239 class TestURLRequestContextWithProxy : public TestURLRequestContext { 239 class TestURLRequestContextWithProxy : public TestURLRequestContext {
240 public: 240 public:
241 explicit TestURLRequestContextWithProxy(const std::string& proxy) 241 explicit TestURLRequestContextWithProxy(const std::string& proxy)
242 : TestURLRequestContext(true) { 242 : TestURLRequestContext(true) {
243 context_storage_.set_proxy_service(ProxyService::CreateFixed(proxy)); 243 context_storage_.set_proxy_service(ProxyService::CreateFixed(proxy));
244 Init(); 244 Init();
245 } 245 }
246 virtual ~TestURLRequestContextWithProxy() {} 246 ~TestURLRequestContextWithProxy() override {}
247 }; 247 };
248 248
249 class TestSocketStreamNetworkDelegate : public TestNetworkDelegate { 249 class TestSocketStreamNetworkDelegate : public TestNetworkDelegate {
250 public: 250 public:
251 TestSocketStreamNetworkDelegate() 251 TestSocketStreamNetworkDelegate()
252 : before_connect_result_(OK) {} 252 : before_connect_result_(OK) {}
253 virtual ~TestSocketStreamNetworkDelegate() {} 253 ~TestSocketStreamNetworkDelegate() override {}
254 254
255 virtual int OnBeforeSocketStreamConnect( 255 int OnBeforeSocketStreamConnect(SocketStream* stream,
256 SocketStream* stream, 256 const CompletionCallback& callback) override {
257 const CompletionCallback& callback) override {
258 return before_connect_result_; 257 return before_connect_result_;
259 } 258 }
260 259
261 void SetBeforeConnectResult(int result) { 260 void SetBeforeConnectResult(int result) {
262 before_connect_result_ = result; 261 before_connect_result_ = result;
263 } 262 }
264 263
265 private: 264 private:
266 int before_connect_result_; 265 int before_connect_result_;
267 }; 266 };
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 1034
1036 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION, 1035 EXPECT_EQ(SocketStreamEvent::EVENT_START_OPEN_CONNECTION,
1037 events[0].event_type); 1036 events[0].event_type);
1038 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type); 1037 EXPECT_EQ(SocketStreamEvent::EVENT_CONNECTED, events[1].event_type);
1039 EXPECT_EQ(SocketStreamEvent::EVENT_SENT_DATA, events[2].event_type); 1038 EXPECT_EQ(SocketStreamEvent::EVENT_SENT_DATA, events[2].event_type);
1040 EXPECT_EQ(SocketStreamEvent::EVENT_RECEIVED_DATA, events[3].event_type); 1039 EXPECT_EQ(SocketStreamEvent::EVENT_RECEIVED_DATA, events[3].event_type);
1041 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[4].event_type); 1040 EXPECT_EQ(SocketStreamEvent::EVENT_CLOSE, events[4].event_type);
1042 } 1041 }
1043 1042
1044 } // namespace net 1043 } // namespace net
OLDNEW
« no previous file with comments | « net/socket_stream/socket_stream.h ('k') | net/spdy/buffered_spdy_framer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698