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 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 class IntegerAccessorImpl : public sample::IntegerAccessor { | 168 class IntegerAccessorImpl : public sample::IntegerAccessor { |
169 public: | 169 public: |
170 IntegerAccessorImpl() : integer_(0) {} | 170 IntegerAccessorImpl() : integer_(0) {} |
171 ~IntegerAccessorImpl() override {} | 171 ~IntegerAccessorImpl() override {} |
172 | 172 |
173 int64_t integer() const { return integer_; } | 173 int64_t integer() const { return integer_; } |
174 | 174 |
175 private: | 175 private: |
176 // sample::IntegerAccessor implementation. | 176 // sample::IntegerAccessor implementation. |
177 void GetInteger(const GetIntegerCallback& callback) override { | 177 void GetInteger(const GetIntegerCallback& callback) override { |
178 callback.Run(integer_, sample::ENUM_VALUE); | 178 callback.Run(integer_, sample::Enum::VALUE); |
179 } | 179 } |
180 void SetInteger(int64_t data, sample::Enum type) override { integer_ = data; } | 180 void SetInteger(int64_t data, sample::Enum type) override { integer_ = data; } |
181 | 181 |
182 int64_t integer_; | 182 int64_t integer_; |
183 }; | 183 }; |
184 | 184 |
185 class InterfacePtrTest : public testing::Test { | 185 class InterfacePtrTest : public testing::Test { |
186 public: | 186 public: |
187 ~InterfacePtrTest() override { loop_.RunUntilIdle(); } | 187 ~InterfacePtrTest() override { loop_.RunUntilIdle(); } |
188 | 188 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 | 371 |
372 PumpMessages(); | 372 PumpMessages(); |
373 | 373 |
374 EXPECT_EQ(0, SelfDestructingMathCalculatorUI::num_instances()); | 374 EXPECT_EQ(0, SelfDestructingMathCalculatorUI::num_instances()); |
375 } | 375 } |
376 | 376 |
377 TEST_F(InterfacePtrTest, ReentrantWaitForIncomingMethodCall) { | 377 TEST_F(InterfacePtrTest, ReentrantWaitForIncomingMethodCall) { |
378 sample::ServicePtr proxy; | 378 sample::ServicePtr proxy; |
379 ReentrantServiceImpl impl(GetProxy(&proxy)); | 379 ReentrantServiceImpl impl(GetProxy(&proxy)); |
380 | 380 |
381 proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr, | 381 proxy->Frobinate(nullptr, sample::Service::BazOptions::REGULAR, nullptr, |
382 sample::Service::FrobinateCallback()); | 382 sample::Service::FrobinateCallback()); |
383 proxy->Frobinate(nullptr, sample::Service::BAZ_OPTIONS_REGULAR, nullptr, | 383 proxy->Frobinate(nullptr, sample::Service::BazOptions::REGULAR, nullptr, |
384 sample::Service::FrobinateCallback()); | 384 sample::Service::FrobinateCallback()); |
385 | 385 |
386 PumpMessages(); | 386 PumpMessages(); |
387 | 387 |
388 EXPECT_EQ(2, impl.max_call_depth()); | 388 EXPECT_EQ(2, impl.max_call_depth()); |
389 } | 389 } |
390 | 390 |
391 TEST_F(InterfacePtrTest, QueryVersion) { | 391 TEST_F(InterfacePtrTest, QueryVersion) { |
392 IntegerAccessorImpl impl; | 392 IntegerAccessorImpl impl; |
393 sample::IntegerAccessorPtr ptr; | 393 sample::IntegerAccessorPtr ptr; |
(...skipping 11 matching lines...) Expand all Loading... |
405 | 405 |
406 TEST_F(InterfacePtrTest, RequireVersion) { | 406 TEST_F(InterfacePtrTest, RequireVersion) { |
407 IntegerAccessorImpl impl; | 407 IntegerAccessorImpl impl; |
408 sample::IntegerAccessorPtr ptr; | 408 sample::IntegerAccessorPtr ptr; |
409 Binding<sample::IntegerAccessor> binding(&impl, GetProxy(&ptr)); | 409 Binding<sample::IntegerAccessor> binding(&impl, GetProxy(&ptr)); |
410 | 410 |
411 EXPECT_EQ(0u, ptr.version()); | 411 EXPECT_EQ(0u, ptr.version()); |
412 | 412 |
413 ptr.RequireVersion(1u); | 413 ptr.RequireVersion(1u); |
414 EXPECT_EQ(1u, ptr.version()); | 414 EXPECT_EQ(1u, ptr.version()); |
415 ptr->SetInteger(123, sample::ENUM_VALUE); | 415 ptr->SetInteger(123, sample::Enum::VALUE); |
416 PumpMessages(); | 416 PumpMessages(); |
417 EXPECT_FALSE(ptr.encountered_error()); | 417 EXPECT_FALSE(ptr.encountered_error()); |
418 EXPECT_EQ(123, impl.integer()); | 418 EXPECT_EQ(123, impl.integer()); |
419 | 419 |
420 ptr.RequireVersion(3u); | 420 ptr.RequireVersion(3u); |
421 EXPECT_EQ(3u, ptr.version()); | 421 EXPECT_EQ(3u, ptr.version()); |
422 ptr->SetInteger(456, sample::ENUM_VALUE); | 422 ptr->SetInteger(456, sample::Enum::VALUE); |
423 PumpMessages(); | 423 PumpMessages(); |
424 EXPECT_FALSE(ptr.encountered_error()); | 424 EXPECT_FALSE(ptr.encountered_error()); |
425 EXPECT_EQ(456, impl.integer()); | 425 EXPECT_EQ(456, impl.integer()); |
426 | 426 |
427 // Require a version that is not supported by the impl side. | 427 // Require a version that is not supported by the impl side. |
428 ptr.RequireVersion(4u); | 428 ptr.RequireVersion(4u); |
429 // This value is set to the input of RequireVersion() synchronously. | 429 // This value is set to the input of RequireVersion() synchronously. |
430 EXPECT_EQ(4u, ptr.version()); | 430 EXPECT_EQ(4u, ptr.version()); |
431 ptr->SetInteger(789, sample::ENUM_VALUE); | 431 ptr->SetInteger(789, sample::Enum::VALUE); |
432 PumpMessages(); | 432 PumpMessages(); |
433 EXPECT_TRUE(ptr.encountered_error()); | 433 EXPECT_TRUE(ptr.encountered_error()); |
434 // The call to SetInteger() after RequireVersion(4u) is ignored. | 434 // The call to SetInteger() after RequireVersion(4u) is ignored. |
435 EXPECT_EQ(456, impl.integer()); | 435 EXPECT_EQ(456, impl.integer()); |
436 } | 436 } |
437 | 437 |
438 class StrongMathCalculatorImpl : public math::Calculator { | 438 class StrongMathCalculatorImpl : public math::Calculator { |
439 public: | 439 public: |
440 StrongMathCalculatorImpl(ScopedMessagePipeHandle handle, | 440 StrongMathCalculatorImpl(ScopedMessagePipeHandle handle, |
441 bool* error_received, | 441 bool* error_received, |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 // While B & C have fallen out of scope, the pipes will remain until they are | 640 // While B & C have fallen out of scope, the pipes will remain until they are |
641 // flushed. | 641 // flushed. |
642 EXPECT_FALSE(a_impl.d_called()); | 642 EXPECT_FALSE(a_impl.d_called()); |
643 PumpMessages(); | 643 PumpMessages(); |
644 EXPECT_TRUE(a_impl.d_called()); | 644 EXPECT_TRUE(a_impl.d_called()); |
645 } | 645 } |
646 | 646 |
647 } // namespace | 647 } // namespace |
648 } // namespace test | 648 } // namespace test |
649 } // namespace mojo | 649 } // namespace mojo |
OLD | NEW |