| Index: mojo/public/cpp/bindings/tests/pickle_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/pickle_unittest.cc b/mojo/public/cpp/bindings/tests/pickle_unittest.cc
|
| index cce17451954b9ed68c34b700ea1e742d003839b6..86ab8d33f7c4b7d27bbfe9cbb8c5a011982fe927 100644
|
| --- a/mojo/public/cpp/bindings/tests/pickle_unittest.cc
|
| +++ b/mojo/public/cpp/bindings/tests/pickle_unittest.cc
|
| @@ -3,6 +3,7 @@
|
| // found in the LICENSE file.
|
|
|
| #include <string>
|
| +#include <utility>
|
|
|
| #include "base/bind.h"
|
| #include "base/callback.h"
|
| @@ -74,6 +75,14 @@ void ExpectError(InterfacePtr<T>* proxy, const base::Closure& callback) {
|
| proxy->set_connection_error_handler(callback);
|
| }
|
|
|
| +template <typename Func, typename Arg>
|
| +void RunSimpleLambda(Func func, Arg arg) { func(std::move(arg)); }
|
| +
|
| +template <typename Arg, typename Func>
|
| +base::Callback<void(Arg)> BindSimpleLambda(Func func) {
|
| + return base::Bind(&RunSimpleLambda<Func, Arg>, func);
|
| +}
|
| +
|
| // This implements the generated Chromium variant of PicklePasser.
|
| class ChromiumPicklePasserImpl : public PicklePasser {
|
| public:
|
| @@ -304,17 +313,18 @@ TEST_F(PickleTest, PickleArray) {
|
| // rather than doing a byte-for-byte copy of the element data, beacuse the
|
| // |baz| field should never be serialized.
|
| proxy->PassPickles(std::move(pickles),
|
| - [&](Array<PickledStructChromium> passed) {
|
| - ASSERT_FALSE(passed.is_null());
|
| - ASSERT_EQ(2u, passed.size());
|
| - EXPECT_EQ(1, passed[0].foo());
|
| - EXPECT_EQ(2, passed[0].bar());
|
| - EXPECT_EQ(0, passed[0].baz());
|
| - EXPECT_EQ(3, passed[1].foo());
|
| - EXPECT_EQ(4, passed[1].bar());
|
| - EXPECT_EQ(0, passed[1].baz());
|
| - run_loop.Quit();
|
| - });
|
| + BindSimpleLambda<Array<PickledStructChromium>>(
|
| + [&](Array<PickledStructChromium> passed) {
|
| + ASSERT_FALSE(passed.is_null());
|
| + ASSERT_EQ(2u, passed.size());
|
| + EXPECT_EQ(1, passed[0].foo());
|
| + EXPECT_EQ(2, passed[0].bar());
|
| + EXPECT_EQ(0, passed[0].baz());
|
| + EXPECT_EQ(3, passed[1].foo());
|
| + EXPECT_EQ(4, passed[1].bar());
|
| + EXPECT_EQ(0, passed[1].baz());
|
| + run_loop.Quit();
|
| + }));
|
| run_loop.Run();
|
| }
|
| }
|
| @@ -340,26 +350,28 @@ TEST_F(PickleTest, PickleArrayArray) {
|
| {
|
| base::RunLoop run_loop;
|
| // Verify that the array-of-arrays serializes and deserializes properly.
|
| - proxy->PassPickleArrays(std::move(pickle_arrays),
|
| - [&](Array<Array<PickledStructChromium>> passed) {
|
| - ASSERT_FALSE(passed.is_null());
|
| - ASSERT_EQ(2u, passed.size());
|
| - ASSERT_EQ(2u, passed[0].size());
|
| - ASSERT_EQ(2u, passed[1].size());
|
| - EXPECT_EQ(1, passed[0][0].foo());
|
| - EXPECT_EQ(2, passed[0][0].bar());
|
| - EXPECT_EQ(0, passed[0][0].baz());
|
| - EXPECT_EQ(3, passed[0][1].foo());
|
| - EXPECT_EQ(4, passed[0][1].bar());
|
| - EXPECT_EQ(0, passed[0][1].baz());
|
| - EXPECT_EQ(5, passed[1][0].foo());
|
| - EXPECT_EQ(6, passed[1][0].bar());
|
| - EXPECT_EQ(0, passed[1][0].baz());
|
| - EXPECT_EQ(7, passed[1][1].foo());
|
| - EXPECT_EQ(8, passed[1][1].bar());
|
| - EXPECT_EQ(0, passed[1][1].baz());
|
| - run_loop.Quit();
|
| - });
|
| + proxy->PassPickleArrays(
|
| + std::move(pickle_arrays),
|
| + BindSimpleLambda<Array<Array<PickledStructChromium>>>(
|
| + [&](Array<Array<PickledStructChromium>> passed) {
|
| + ASSERT_FALSE(passed.is_null());
|
| + ASSERT_EQ(2u, passed.size());
|
| + ASSERT_EQ(2u, passed[0].size());
|
| + ASSERT_EQ(2u, passed[1].size());
|
| + EXPECT_EQ(1, passed[0][0].foo());
|
| + EXPECT_EQ(2, passed[0][0].bar());
|
| + EXPECT_EQ(0, passed[0][0].baz());
|
| + EXPECT_EQ(3, passed[0][1].foo());
|
| + EXPECT_EQ(4, passed[0][1].bar());
|
| + EXPECT_EQ(0, passed[0][1].baz());
|
| + EXPECT_EQ(5, passed[1][0].foo());
|
| + EXPECT_EQ(6, passed[1][0].bar());
|
| + EXPECT_EQ(0, passed[1][0].baz());
|
| + EXPECT_EQ(7, passed[1][1].foo());
|
| + EXPECT_EQ(8, passed[1][1].bar());
|
| + EXPECT_EQ(0, passed[1][1].baz());
|
| + run_loop.Quit();
|
| + }));
|
| run_loop.Run();
|
| }
|
| }
|
| @@ -376,15 +388,16 @@ TEST_F(PickleTest, PickleContainer) {
|
| {
|
| base::RunLoop run_loop;
|
| proxy->PassPickleContainer(std::move(pickle_container),
|
| - [&](PickleContainerPtr passed) {
|
| - ASSERT_FALSE(passed.is_null());
|
| - EXPECT_EQ(42, passed->f_struct.foo());
|
| - EXPECT_EQ(43, passed->f_struct.bar());
|
| - EXPECT_EQ(0, passed->f_struct.baz());
|
| - EXPECT_EQ(PickledEnumChromium::VALUE_1,
|
| - passed->f_enum);
|
| - run_loop.Quit();
|
| - });
|
| + BindSimpleLambda<PickleContainerPtr>(
|
| + [&](PickleContainerPtr passed) {
|
| + ASSERT_FALSE(passed.is_null());
|
| + EXPECT_EQ(42, passed->f_struct.foo());
|
| + EXPECT_EQ(43, passed->f_struct.bar());
|
| + EXPECT_EQ(0, passed->f_struct.baz());
|
| + EXPECT_EQ(PickledEnumChromium::VALUE_1,
|
| + passed->f_enum);
|
| + run_loop.Quit();
|
| + }));
|
| run_loop.Run();
|
| }
|
| }
|
|
|