| 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/error_handler.h" | 6 #include "mojo/public/cpp/bindings/error_handler.h" |
| 7 #include "mojo/public/cpp/bindings/strong_binding.h" | 7 #include "mojo/public/cpp/bindings/strong_binding.h" |
| 8 #include "mojo/public/cpp/environment/environment.h" | 8 #include "mojo/public/cpp/environment/environment.h" |
| 9 #include "mojo/public/cpp/utility/run_loop.h" | 9 #include "mojo/public/cpp/utility/run_loop.h" |
| 10 #include "mojo/public/interfaces/bindings/tests/math_calculator.mojom.h" | 10 #include "mojo/public/interfaces/bindings/tests/math_calculator.mojom.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 Binding<math::Calculator> binding_; | 80 Binding<math::Calculator> binding_; |
| 81 }; | 81 }; |
| 82 | 82 |
| 83 class MathCalculatorUI { | 83 class MathCalculatorUI { |
| 84 public: | 84 public: |
| 85 explicit MathCalculatorUI(math::CalculatorPtr calculator) | 85 explicit MathCalculatorUI(math::CalculatorPtr calculator) |
| 86 : calculator_(calculator.Pass()), | 86 : calculator_(calculator.Pass()), |
| 87 output_(0.0), | 87 output_(0.0), |
| 88 callback_(MakeRunnable(&MathCalculatorUI::Output, this)) {} | 88 callback_(MakeRunnable(&MathCalculatorUI::Output, this)) {} |
| 89 | 89 |
| 90 bool WaitForIncomingMethodCall() { | 90 bool WaitForIncomingResponse() { |
| 91 return calculator_.WaitForIncomingMethodCall(); | 91 return calculator_.WaitForIncomingResponse(); |
| 92 } | 92 } |
| 93 | 93 |
| 94 bool encountered_error() const { return calculator_.encountered_error(); } | 94 bool encountered_error() const { return calculator_.encountered_error(); } |
| 95 | 95 |
| 96 void Add(double value) { calculator_->Add(value, callback_); } | 96 void Add(double value) { calculator_->Add(value, callback_); } |
| 97 | 97 |
| 98 void Subtract(double value) { calculator_->Add(-value, callback_); } | 98 void Subtract(double value) { calculator_->Add(-value, callback_); } |
| 99 | 99 |
| 100 void Multiply(double value) { calculator_->Multiply(value, callback_); } | 100 void Multiply(double value) { calculator_->Multiply(value, callback_); } |
| 101 | 101 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 MathCalculatorImpl calc_impl(GetProxy(&calc)); | 225 MathCalculatorImpl calc_impl(GetProxy(&calc)); |
| 226 | 226 |
| 227 // Suppose this is instantiated in a process that has pipe1_. | 227 // Suppose this is instantiated in a process that has pipe1_. |
| 228 MathCalculatorUI calculator_ui(calc.Pass()); | 228 MathCalculatorUI calculator_ui(calc.Pass()); |
| 229 | 229 |
| 230 EXPECT_EQ(0.0, calculator_ui.GetOutput()); | 230 EXPECT_EQ(0.0, calculator_ui.GetOutput()); |
| 231 | 231 |
| 232 calculator_ui.Add(2.0); | 232 calculator_ui.Add(2.0); |
| 233 EXPECT_EQ(0.0, calculator_ui.GetOutput()); | 233 EXPECT_EQ(0.0, calculator_ui.GetOutput()); |
| 234 calc_impl.WaitForIncomingMethodCall(); | 234 calc_impl.WaitForIncomingMethodCall(); |
| 235 calculator_ui.WaitForIncomingMethodCall(); | 235 calculator_ui.WaitForIncomingResponse(); |
| 236 EXPECT_EQ(2.0, calculator_ui.GetOutput()); | 236 EXPECT_EQ(2.0, calculator_ui.GetOutput()); |
| 237 | 237 |
| 238 calculator_ui.Multiply(5.0); | 238 calculator_ui.Multiply(5.0); |
| 239 EXPECT_EQ(2.0, calculator_ui.GetOutput()); | 239 EXPECT_EQ(2.0, calculator_ui.GetOutput()); |
| 240 calc_impl.WaitForIncomingMethodCall(); | 240 calc_impl.WaitForIncomingMethodCall(); |
| 241 calculator_ui.WaitForIncomingMethodCall(); | 241 calculator_ui.WaitForIncomingResponse(); |
| 242 EXPECT_EQ(10.0, calculator_ui.GetOutput()); | 242 EXPECT_EQ(10.0, calculator_ui.GetOutput()); |
| 243 } | 243 } |
| 244 | 244 |
| 245 TEST_F(InterfacePtrTest, Movable) { | 245 TEST_F(InterfacePtrTest, Movable) { |
| 246 math::CalculatorPtr a; | 246 math::CalculatorPtr a; |
| 247 math::CalculatorPtr b; | 247 math::CalculatorPtr b; |
| 248 MathCalculatorImpl calc_impl(GetProxy(&b)); | 248 MathCalculatorImpl calc_impl(GetProxy(&b)); |
| 249 | 249 |
| 250 EXPECT_TRUE(!a); | 250 EXPECT_TRUE(!a); |
| 251 EXPECT_FALSE(!b); | 251 EXPECT_FALSE(!b); |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 } | 577 } |
| 578 | 578 |
| 579 loop.RunUntilIdle(); | 579 loop.RunUntilIdle(); |
| 580 EXPECT_TRUE(error_received); | 580 EXPECT_TRUE(error_received); |
| 581 EXPECT_FALSE(destroyed); | 581 EXPECT_FALSE(destroyed); |
| 582 } | 582 } |
| 583 | 583 |
| 584 } // namespace | 584 } // namespace |
| 585 } // namespace test | 585 } // namespace test |
| 586 } // namespace mojo | 586 } // namespace mojo |
| OLD | NEW |