| Index: mojo/public/cpp/bindings/tests/struct_traits_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc b/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc
|
| index 4a96136fe20694c60087fc39b2923f78f7b6bad0..1a491beac953ad46e854dfe16304081dce5b1a94 100644
|
| --- a/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc
|
| +++ b/mojo/public/cpp/bindings/tests/struct_traits_unittest.cc
|
| @@ -219,6 +219,21 @@ TEST_F(StructTraitsTest, BlinkProxyToChromiumService) {
|
| }
|
| }
|
|
|
| +void ExpectStructWithTraits(const StructWithTraitsImpl& expected,
|
| + const base::Closure& closure,
|
| + const StructWithTraitsImpl& passed) {
|
| + EXPECT_EQ(expected.get_enum(), passed.get_enum());
|
| + EXPECT_EQ(expected.get_bool(), passed.get_bool());
|
| + EXPECT_EQ(expected.get_uint32(), passed.get_uint32());
|
| + EXPECT_EQ(expected.get_uint64(), passed.get_uint64());
|
| + EXPECT_EQ(expected.get_string(), passed.get_string());
|
| + EXPECT_EQ(expected.get_string_array(), passed.get_string_array());
|
| + EXPECT_EQ(expected.get_struct(), passed.get_struct());
|
| + EXPECT_EQ(expected.get_struct_array(), passed.get_struct_array());
|
| + EXPECT_EQ(expected.get_struct_map(), passed.get_struct_map());
|
| + closure.Run();
|
| +}
|
| +
|
| TEST_F(StructTraitsTest, EchoStructWithTraits) {
|
| StructWithTraitsImpl input;
|
| input.set_enum(EnumWithTraitsImpl::CUSTOM_VALUE_1);
|
| @@ -237,18 +252,9 @@ TEST_F(StructTraitsTest, EchoStructWithTraits) {
|
| base::RunLoop loop;
|
| TraitsTestServicePtr proxy = GetTraitsTestProxy();
|
|
|
| - proxy->EchoStructWithTraits(input, [&](const StructWithTraitsImpl& passed) {
|
| - EXPECT_EQ(input.get_enum(), passed.get_enum());
|
| - EXPECT_EQ(input.get_bool(), passed.get_bool());
|
| - EXPECT_EQ(input.get_uint32(), passed.get_uint32());
|
| - EXPECT_EQ(input.get_uint64(), passed.get_uint64());
|
| - EXPECT_EQ(input.get_string(), passed.get_string());
|
| - EXPECT_EQ(input.get_string_array(), passed.get_string_array());
|
| - EXPECT_EQ(input.get_struct(), passed.get_struct());
|
| - EXPECT_EQ(input.get_struct_array(), passed.get_struct_array());
|
| - EXPECT_EQ(input.get_struct_map(), passed.get_struct_map());
|
| - loop.Quit();
|
| - });
|
| + proxy->EchoStructWithTraits(
|
| + input,
|
| + base::Bind(&ExpectStructWithTraits, input, loop.QuitClosure()));
|
| loop.Run();
|
| }
|
|
|
| @@ -261,6 +267,14 @@ TEST_F(StructTraitsTest, CloneStructWithTraitsContainer) {
|
| EXPECT_EQ(42u, cloned_container->f_struct.get_uint64());
|
| }
|
|
|
| +void CaptureMessagePipe(ScopedMessagePipeHandle* storage,
|
| + const base::Closure& closure,
|
| + PassByValueStructWithTraitsImpl passed) {
|
| + storage->reset(MessagePipeHandle(
|
| + passed.get_mutable_handle().release().value()));
|
| + closure.Run();
|
| +}
|
| +
|
| TEST_F(StructTraitsTest, EchoPassByValueStructWithTraits) {
|
| MessagePipe mp;
|
| PassByValueStructWithTraitsImpl input;
|
| @@ -271,11 +285,8 @@ TEST_F(StructTraitsTest, EchoPassByValueStructWithTraits) {
|
|
|
| ScopedMessagePipeHandle received;
|
| proxy->EchoPassByValueStructWithTraits(
|
| - std::move(input), [&](PassByValueStructWithTraitsImpl passed) {
|
| - received.reset(
|
| - MessagePipeHandle(passed.get_mutable_handle().release().value()));
|
| - loop.Quit();
|
| - });
|
| + std::move(input),
|
| + base::Bind(&CaptureMessagePipe, &received, loop.QuitClosure()));
|
| loop.Run();
|
|
|
| ASSERT_TRUE(received.is_valid());
|
| @@ -299,15 +310,21 @@ TEST_F(StructTraitsTest, EchoPassByValueStructWithTraits) {
|
| EXPECT_STREQ(kHello, buffer);
|
| }
|
|
|
| +void ExpectEnumWithTraits(EnumWithTraitsImpl expected_value,
|
| + const base::Closure& closure,
|
| + EnumWithTraitsImpl value) {
|
| + EXPECT_EQ(expected_value, value);
|
| + closure.Run();
|
| +}
|
| +
|
| TEST_F(StructTraitsTest, EchoEnumWithTraits) {
|
| base::RunLoop loop;
|
| TraitsTestServicePtr proxy = GetTraitsTestProxy();
|
|
|
| proxy->EchoEnumWithTraits(
|
| - EnumWithTraitsImpl::CUSTOM_VALUE_1, [&](EnumWithTraitsImpl passed) {
|
| - EXPECT_EQ(EnumWithTraitsImpl::CUSTOM_VALUE_1, passed);
|
| - loop.Quit();
|
| - });
|
| + EnumWithTraitsImpl::CUSTOM_VALUE_1,
|
| + base::Bind(&ExpectEnumWithTraits, EnumWithTraitsImpl::CUSTOM_VALUE_1,
|
| + loop.QuitClosure()));
|
| loop.Run();
|
| }
|
|
|
|
|