OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "mojo/public/cpp/bindings/binding.h" | 5 #include "mojo/public/cpp/bindings/binding.h" |
6 #include "mojo/public/cpp/bindings/strong_binding.h" | 6 #include "mojo/public/cpp/bindings/strong_binding.h" |
7 #include "mojo/public/cpp/environment/environment.h" | 7 #include "mojo/public/cpp/environment/environment.h" |
8 #include "mojo/public/cpp/utility/run_loop.h" | 8 #include "mojo/public/cpp/utility/run_loop.h" |
9 #include "mojo/public/interfaces/bindings/tests/math_calculator.mojom.h" | 9 #include "mojo/public/interfaces/bindings/tests/math_calculator.mojom.h" |
10 #include "mojo/public/interfaces/bindings/tests/sample_interfaces.mojom.h" | 10 #include "mojo/public/interfaces/bindings/tests/sample_interfaces.mojom.h" |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 TEST_F(InterfacePtrTest, Resettable) { | 267 TEST_F(InterfacePtrTest, Resettable) { |
268 math::CalculatorPtr a; | 268 math::CalculatorPtr a; |
269 | 269 |
270 EXPECT_TRUE(!a); | 270 EXPECT_TRUE(!a); |
271 | 271 |
272 MessagePipe pipe; | 272 MessagePipe pipe; |
273 | 273 |
274 // Save this so we can test it later. | 274 // Save this so we can test it later. |
275 Handle handle = pipe.handle0.get(); | 275 Handle handle = pipe.handle0.get(); |
276 | 276 |
277 a = MakeProxy(InterfacePtrInfo<math::Calculator>(pipe.handle0.Pass(), 0u)); | 277 a = MakeProxy(InterfaceHandle<math::Calculator>(pipe.handle0.Pass(), 0u)); |
278 | 278 |
279 EXPECT_FALSE(!a); | 279 EXPECT_FALSE(!a); |
280 | 280 |
281 a.reset(); | 281 a.reset(); |
282 | 282 |
283 EXPECT_TRUE(!a); | 283 EXPECT_TRUE(!a); |
284 EXPECT_FALSE(a.internal_state()->router_for_testing()); | 284 EXPECT_FALSE(a.internal_state()->router_for_testing()); |
285 | 285 |
286 // Test that handle was closed. | 286 // Test that handle was closed. |
287 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, CloseRaw(handle)); | 287 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, CloseRaw(handle)); |
288 } | 288 } |
289 | 289 |
290 TEST_F(InterfacePtrTest, BindInvalidHandle) { | 290 TEST_F(InterfacePtrTest, BindInvalidHandle) { |
291 math::CalculatorPtr ptr; | 291 math::CalculatorPtr ptr; |
292 EXPECT_FALSE(ptr.get()); | 292 EXPECT_FALSE(ptr.get()); |
293 EXPECT_FALSE(ptr); | 293 EXPECT_FALSE(ptr); |
294 | 294 |
295 ptr.Bind(InterfacePtrInfo<math::Calculator>()); | 295 ptr.Bind(InterfaceHandle<math::Calculator>()); |
296 EXPECT_FALSE(ptr.get()); | 296 EXPECT_FALSE(ptr.get()); |
297 EXPECT_FALSE(ptr); | 297 EXPECT_FALSE(ptr); |
298 } | 298 } |
299 | 299 |
300 TEST_F(InterfacePtrTest, EncounteredError) { | 300 TEST_F(InterfacePtrTest, EncounteredError) { |
301 math::CalculatorPtr proxy; | 301 math::CalculatorPtr proxy; |
302 MathCalculatorImpl calc_impl(GetProxy(&proxy)); | 302 MathCalculatorImpl calc_impl(GetProxy(&proxy)); |
303 | 303 |
304 MathCalculatorUI calculator_ui(proxy.Pass()); | 304 MathCalculatorUI calculator_ui(proxy.Pass()); |
305 | 305 |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 Environment env; | 486 Environment env; |
487 RunLoop loop; | 487 RunLoop loop; |
488 | 488 |
489 bool error_received = false; | 489 bool error_received = false; |
490 bool destroyed = false; | 490 bool destroyed = false; |
491 MessagePipe pipe; | 491 MessagePipe pipe; |
492 new StrongMathCalculatorImpl(pipe.handle0.Pass(), &error_received, | 492 new StrongMathCalculatorImpl(pipe.handle0.Pass(), &error_received, |
493 &destroyed); | 493 &destroyed); |
494 | 494 |
495 math::CalculatorPtr calc; | 495 math::CalculatorPtr calc; |
496 calc.Bind(InterfacePtrInfo<math::Calculator>(pipe.handle1.Pass(), 0u)); | 496 calc.Bind(InterfaceHandle<math::Calculator>(pipe.handle1.Pass(), 0u)); |
497 | 497 |
498 { | 498 { |
499 // Suppose this is instantiated in a process that has the other end of the | 499 // Suppose this is instantiated in a process that has the other end of the |
500 // message pipe. | 500 // message pipe. |
501 MathCalculatorUI calculator_ui(calc.Pass()); | 501 MathCalculatorUI calculator_ui(calc.Pass()); |
502 | 502 |
503 calculator_ui.Add(2.0); | 503 calculator_ui.Add(2.0); |
504 calculator_ui.Multiply(5.0); | 504 calculator_ui.Multiply(5.0); |
505 | 505 |
506 loop.RunUntilIdle(); | 506 loop.RunUntilIdle(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
554 TEST(WeakConnectorTest, Math) { | 554 TEST(WeakConnectorTest, Math) { |
555 Environment env; | 555 Environment env; |
556 RunLoop loop; | 556 RunLoop loop; |
557 | 557 |
558 bool error_received = false; | 558 bool error_received = false; |
559 bool destroyed = false; | 559 bool destroyed = false; |
560 MessagePipe pipe; | 560 MessagePipe pipe; |
561 WeakMathCalculatorImpl impl(pipe.handle0.Pass(), &error_received, &destroyed); | 561 WeakMathCalculatorImpl impl(pipe.handle0.Pass(), &error_received, &destroyed); |
562 | 562 |
563 math::CalculatorPtr calc; | 563 math::CalculatorPtr calc; |
564 calc.Bind(InterfacePtrInfo<math::Calculator>(pipe.handle1.Pass(), 0u)); | 564 calc.Bind(InterfaceHandle<math::Calculator>(pipe.handle1.Pass(), 0u)); |
565 | 565 |
566 { | 566 { |
567 // Suppose this is instantiated in a process that has the other end of the | 567 // Suppose this is instantiated in a process that has the other end of the |
568 // message pipe. | 568 // message pipe. |
569 MathCalculatorUI calculator_ui(calc.Pass()); | 569 MathCalculatorUI calculator_ui(calc.Pass()); |
570 | 570 |
571 calculator_ui.Add(2.0); | 571 calculator_ui.Add(2.0); |
572 calculator_ui.Multiply(5.0); | 572 calculator_ui.Multiply(5.0); |
573 | 573 |
574 loop.RunUntilIdle(); | 574 loop.RunUntilIdle(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 // While B & C have fallen out of scope, the pipes will remain until they are | 653 // While B & C have fallen out of scope, the pipes will remain until they are |
654 // flushed. | 654 // flushed. |
655 EXPECT_FALSE(a_impl.d_called()); | 655 EXPECT_FALSE(a_impl.d_called()); |
656 PumpMessages(); | 656 PumpMessages(); |
657 EXPECT_TRUE(a_impl.d_called()); | 657 EXPECT_TRUE(a_impl.d_called()); |
658 } | 658 } |
659 | 659 |
660 } // namespace | 660 } // namespace |
661 } // namespace test | 661 } // namespace test |
662 } // namespace mojo | 662 } // namespace mojo |
OLD | NEW |