OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <algorithm> | 5 #include <algorithm> |
6 #include <ostream> | 6 #include <ostream> |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "mojo/public/cpp/environment/environment.h" | |
11 #include "mojo/public/cpp/system/macros.h" | 10 #include "mojo/public/cpp/system/macros.h" |
12 #include "mojo/public/interfaces/bindings/tests/sample_service.mojom.h" | 11 #include "mojo/public/interfaces/bindings/tests/sample_service.mojom.h" |
13 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
14 | 13 |
15 namespace mojo { | 14 namespace mojo { |
16 | 15 |
17 template <> | 16 template <> |
18 struct TypeConverter<int32_t, sample::BarPtr> { | 17 struct TypeConverter<int32_t, sample::BarPtr> { |
19 static int32_t Convert(const sample::BarPtr& bar) { | 18 static int32_t Convert(const sample::BarPtr& bar) { |
20 return static_cast<int32_t>(bar->alpha) << 16 | | 19 return static_cast<int32_t>(bar->alpha) << 16 | |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 stub.set_sink(&impl); | 307 stub.set_sink(&impl); |
309 return stub.Accept(message); | 308 return stub.Accept(message); |
310 } | 309 } |
311 | 310 |
312 bool AcceptWithResponder(mojo::Message* message, | 311 bool AcceptWithResponder(mojo::Message* message, |
313 mojo::MessageReceiver* responder) override { | 312 mojo::MessageReceiver* responder) override { |
314 return false; | 313 return false; |
315 } | 314 } |
316 }; | 315 }; |
317 | 316 |
318 class BindingsSampleTest : public testing::Test { | 317 TEST(BindingsSampleTest, Basic) { |
319 public: | |
320 BindingsSampleTest() {} | |
321 ~BindingsSampleTest() override {} | |
322 | |
323 private: | |
324 mojo::Environment env_; | |
325 | |
326 MOJO_DISALLOW_COPY_AND_ASSIGN(BindingsSampleTest); | |
327 }; | |
328 | |
329 TEST_F(BindingsSampleTest, Basic) { | |
330 SimpleMessageReceiver receiver; | 318 SimpleMessageReceiver receiver; |
331 | 319 |
332 // User has a proxy to a Service somehow. | 320 // User has a proxy to a Service somehow. |
333 Service* service = new ServiceProxyImpl(&receiver); | 321 Service* service = new ServiceProxyImpl(&receiver); |
334 | 322 |
335 // User constructs a message to send. | 323 // User constructs a message to send. |
336 | 324 |
337 // Notice that it doesn't matter in what order the structs / arrays are | 325 // Notice that it doesn't matter in what order the structs / arrays are |
338 // allocated. Here, the various members of Foo are allocated before Foo is | 326 // allocated. Here, the various members of Foo are allocated before Foo is |
339 // allocated. | 327 // allocated. |
340 | 328 |
341 FooPtr foo = MakeFoo(); | 329 FooPtr foo = MakeFoo(); |
342 CheckFoo(*foo); | 330 CheckFoo(*foo); |
343 | 331 |
344 PortPtr port; | 332 PortPtr port; |
345 service->Frobinate(foo.Pass(), Service::BazOptions::EXTRA, std::move(port), | 333 service->Frobinate(foo.Pass(), Service::BazOptions::EXTRA, std::move(port), |
346 Service::FrobinateCallback()); | 334 Service::FrobinateCallback()); |
347 | 335 |
348 delete service; | 336 delete service; |
349 } | 337 } |
350 | 338 |
351 TEST_F(BindingsSampleTest, DefaultValues) { | 339 TEST(BindingsSampleTest, DefaultValues) { |
352 DefaultsTestPtr defaults(DefaultsTest::New()); | 340 DefaultsTestPtr defaults(DefaultsTest::New()); |
353 EXPECT_EQ(-12, defaults->a0); | 341 EXPECT_EQ(-12, defaults->a0); |
354 EXPECT_EQ(kTwelve, defaults->a1); | 342 EXPECT_EQ(kTwelve, defaults->a1); |
355 EXPECT_EQ(1234, defaults->a2); | 343 EXPECT_EQ(1234, defaults->a2); |
356 EXPECT_EQ(34567U, defaults->a3); | 344 EXPECT_EQ(34567U, defaults->a3); |
357 EXPECT_EQ(123456, defaults->a4); | 345 EXPECT_EQ(123456, defaults->a4); |
358 EXPECT_EQ(3456789012U, defaults->a5); | 346 EXPECT_EQ(3456789012U, defaults->a5); |
359 EXPECT_EQ(-111111111111LL, defaults->a6); | 347 EXPECT_EQ(-111111111111LL, defaults->a6); |
360 EXPECT_EQ(9999999999999999999ULL, defaults->a7); | 348 EXPECT_EQ(9999999999999999999ULL, defaults->a7); |
361 EXPECT_EQ(0x12345, defaults->a8); | 349 EXPECT_EQ(0x12345, defaults->a8); |
(...skipping 13 matching lines...) Expand all Loading... |
375 ASSERT_FALSE(defaults->a22.is_null()); | 363 ASSERT_FALSE(defaults->a22.is_null()); |
376 EXPECT_EQ(imported::Shape::RECTANGLE, defaults->a22->shape); | 364 EXPECT_EQ(imported::Shape::RECTANGLE, defaults->a22->shape); |
377 EXPECT_EQ(imported::Color::BLACK, defaults->a22->color); | 365 EXPECT_EQ(imported::Color::BLACK, defaults->a22->color); |
378 EXPECT_EQ(0xFFFFFFFFFFFFFFFFULL, defaults->a23); | 366 EXPECT_EQ(0xFFFFFFFFFFFFFFFFULL, defaults->a23); |
379 EXPECT_EQ(0x123456789, defaults->a24); | 367 EXPECT_EQ(0x123456789, defaults->a24); |
380 EXPECT_EQ(-0x123456789, defaults->a25); | 368 EXPECT_EQ(-0x123456789, defaults->a25); |
381 } | 369 } |
382 | 370 |
383 } // namespace | 371 } // namespace |
384 } // namespace sample | 372 } // namespace sample |
OLD | NEW |