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

Side by Side Diff: mojo/public/cpp/bindings/tests/binding_callback_unittest.cc

Issue 2589663003: mojo:: Rename mojo::GetProxy() to mojo::MakeRequest() (Closed)
Patch Set: Rebase Created 3 years, 12 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 133
134 private: 134 private:
135 base::MessageLoop loop_; 135 base::MessageLoop loop_;
136 }; 136 };
137 137
138 // Tests that the InterfacePtr and the Binding can communicate with each 138 // Tests that the InterfacePtr and the Binding can communicate with each
139 // other normally. 139 // other normally.
140 TEST_F(BindingCallbackTest, Basic) { 140 TEST_F(BindingCallbackTest, Basic) {
141 // Create the ServerImpl and the Binding. 141 // Create the ServerImpl and the Binding.
142 InterfaceImpl server_impl; 142 InterfaceImpl server_impl;
143 Binding<sample::Provider> binding(&server_impl, GetProxy(&interface_ptr_)); 143 Binding<sample::Provider> binding(&server_impl, MakeRequest(&interface_ptr_));
144 144
145 // Initialize the test values. 145 // Initialize the test values.
146 server_impl.resetLastServerValueSeen(); 146 server_impl.resetLastServerValueSeen();
147 last_client_callback_value_seen_ = 0; 147 last_client_callback_value_seen_ = 0;
148 148
149 // Invoke the Echo method. 149 // Invoke the Echo method.
150 base::RunLoop run_loop, run_loop2; 150 base::RunLoop run_loop, run_loop2;
151 server_impl.set_closure(run_loop.QuitClosure()); 151 server_impl.set_closure(run_loop.QuitClosure());
152 interface_ptr_->EchoInt( 152 interface_ptr_->EchoInt(
153 7, 153 7,
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 } 192 }
193 193
194 // Tests that running the Callback after the Binding has been deleted 194 // Tests that running the Callback after the Binding has been deleted
195 // results in a clean failure. 195 // results in a clean failure.
196 TEST_F(BindingCallbackTest, DeleteBindingThenRunCallback) { 196 TEST_F(BindingCallbackTest, DeleteBindingThenRunCallback) {
197 // Create the ServerImpl. 197 // Create the ServerImpl.
198 InterfaceImpl server_impl; 198 InterfaceImpl server_impl;
199 base::RunLoop run_loop; 199 base::RunLoop run_loop;
200 { 200 {
201 // Create the binding in an inner scope so it can be deleted first. 201 // Create the binding in an inner scope so it can be deleted first.
202 Binding<sample::Provider> binding(&server_impl, GetProxy(&interface_ptr_)); 202 Binding<sample::Provider> binding(&server_impl,
203 MakeRequest(&interface_ptr_));
203 interface_ptr_.set_connection_error_handler(run_loop.QuitClosure()); 204 interface_ptr_.set_connection_error_handler(run_loop.QuitClosure());
204 205
205 // Initialize the test values. 206 // Initialize the test values.
206 server_impl.resetLastServerValueSeen(); 207 server_impl.resetLastServerValueSeen();
207 last_client_callback_value_seen_ = 0; 208 last_client_callback_value_seen_ = 0;
208 209
209 // Invoke the Echo method. 210 // Invoke the Echo method.
210 base::RunLoop run_loop2; 211 base::RunLoop run_loop2;
211 server_impl.set_closure(run_loop2.QuitClosure()); 212 server_impl.set_closure(run_loop2.QuitClosure());
212 interface_ptr_->EchoInt( 213 interface_ptr_->EchoInt(
(...skipping 24 matching lines...) Expand all
237 EXPECT_TRUE(interface_ptr_.encountered_error()); 238 EXPECT_TRUE(interface_ptr_.encountered_error());
238 } 239 }
239 240
240 // Tests that deleting a Callback without running it after the corresponding 241 // Tests that deleting a Callback without running it after the corresponding
241 // binding has already been deleted does not result in a crash. 242 // binding has already been deleted does not result in a crash.
242 TEST_F(BindingCallbackTest, DeleteBindingThenDeleteCallback) { 243 TEST_F(BindingCallbackTest, DeleteBindingThenDeleteCallback) {
243 // Create the ServerImpl. 244 // Create the ServerImpl.
244 InterfaceImpl server_impl; 245 InterfaceImpl server_impl;
245 { 246 {
246 // Create the binding in an inner scope so it can be deleted first. 247 // Create the binding in an inner scope so it can be deleted first.
247 Binding<sample::Provider> binding(&server_impl, GetProxy(&interface_ptr_)); 248 Binding<sample::Provider> binding(&server_impl,
249 MakeRequest(&interface_ptr_));
248 250
249 // Initialize the test values. 251 // Initialize the test values.
250 server_impl.resetLastServerValueSeen(); 252 server_impl.resetLastServerValueSeen();
251 last_client_callback_value_seen_ = 0; 253 last_client_callback_value_seen_ = 0;
252 254
253 // Invoke the Echo method. 255 // Invoke the Echo method.
254 base::RunLoop run_loop; 256 base::RunLoop run_loop;
255 server_impl.set_closure(run_loop.QuitClosure()); 257 server_impl.set_closure(run_loop.QuitClosure());
256 interface_ptr_->EchoInt( 258 interface_ptr_->EchoInt(
257 7, 259 7,
(...skipping 10 matching lines...) Expand all
268 // cause a problem because the insfrastructure can detect that the 270 // cause a problem because the insfrastructure can detect that the
269 // binding has already been destroyed and the pipe is closed. 271 // binding has already been destroyed and the pipe is closed.
270 server_impl.DeleteCallback(); 272 server_impl.DeleteCallback();
271 } 273 }
272 274
273 // Tests that closing a Binding allows us to delete a callback 275 // Tests that closing a Binding allows us to delete a callback
274 // without running it without encountering a crash. 276 // without running it without encountering a crash.
275 TEST_F(BindingCallbackTest, CloseBindingBeforeDeletingCallback) { 277 TEST_F(BindingCallbackTest, CloseBindingBeforeDeletingCallback) {
276 // Create the ServerImpl and the Binding. 278 // Create the ServerImpl and the Binding.
277 InterfaceImpl server_impl; 279 InterfaceImpl server_impl;
278 Binding<sample::Provider> binding(&server_impl, GetProxy(&interface_ptr_)); 280 Binding<sample::Provider> binding(&server_impl, MakeRequest(&interface_ptr_));
279 281
280 // Initialize the test values. 282 // Initialize the test values.
281 server_impl.resetLastServerValueSeen(); 283 server_impl.resetLastServerValueSeen();
282 last_client_callback_value_seen_ = 0; 284 last_client_callback_value_seen_ = 0;
283 285
284 // Invoke the Echo method. 286 // Invoke the Echo method.
285 base::RunLoop run_loop; 287 base::RunLoop run_loop;
286 server_impl.set_closure(run_loop.QuitClosure()); 288 server_impl.set_closure(run_loop.QuitClosure());
287 interface_ptr_->EchoInt( 289 interface_ptr_->EchoInt(
288 7, 290 7,
(...skipping 14 matching lines...) Expand all
303 305
304 // Check that the client has still not seen the correct value. 306 // Check that the client has still not seen the correct value.
305 EXPECT_EQ(0, last_client_callback_value_seen_); 307 EXPECT_EQ(0, last_client_callback_value_seen_);
306 } 308 }
307 309
308 // Tests that deleting a Callback without using it before the 310 // Tests that deleting a Callback without using it before the
309 // Binding has been destroyed or closed results in a DCHECK. 311 // Binding has been destroyed or closed results in a DCHECK.
310 TEST_F(BindingCallbackTest, DeleteCallbackBeforeBindingDeathTest) { 312 TEST_F(BindingCallbackTest, DeleteCallbackBeforeBindingDeathTest) {
311 // Create the ServerImpl and the Binding. 313 // Create the ServerImpl and the Binding.
312 InterfaceImpl server_impl; 314 InterfaceImpl server_impl;
313 Binding<sample::Provider> binding(&server_impl, GetProxy(&interface_ptr_)); 315 Binding<sample::Provider> binding(&server_impl, MakeRequest(&interface_ptr_));
314 316
315 // Initialize the test values. 317 // Initialize the test values.
316 server_impl.resetLastServerValueSeen(); 318 server_impl.resetLastServerValueSeen();
317 last_client_callback_value_seen_ = 0; 319 last_client_callback_value_seen_ = 0;
318 320
319 // Invoke the Echo method. 321 // Invoke the Echo method.
320 base::RunLoop run_loop; 322 base::RunLoop run_loop;
321 server_impl.set_closure(run_loop.QuitClosure()); 323 server_impl.set_closure(run_loop.QuitClosure());
322 interface_ptr_->EchoInt( 324 interface_ptr_->EchoInt(
323 7, 325 7,
(...skipping 13 matching lines...) Expand all
337 regex.clear(); 339 regex.clear();
338 #endif // OS_WIN 340 #endif // OS_WIN
339 EXPECT_DEATH_IF_SUPPORTED(server_impl.DeleteCallback(), regex.c_str()); 341 EXPECT_DEATH_IF_SUPPORTED(server_impl.DeleteCallback(), regex.c_str());
340 #endif // (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) && 342 #endif // (!defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)) &&
341 // !defined(OS_ANDROID) 343 // !defined(OS_ANDROID)
342 } 344 }
343 345
344 } // namespace 346 } // namespace
345 } // namespace test 347 } // namespace test
346 } // namespace mojo 348 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/tests/bind_task_runner_unittest.cc ('k') | mojo/public/cpp/bindings/tests/binding_set_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698