| Index: mojo/apps/js/test/js_to_cpp_unittest.cc
|
| diff --git a/mojo/apps/js/test/js_to_cpp_unittest.cc b/mojo/apps/js/test/js_to_cpp_unittest.cc
|
| index 527c81b0966da08ad6fdc4d78995b326cb54632f..64259df156faaf7c2b00c4229412aa2edda00162 100644
|
| --- a/mojo/apps/js/test/js_to_cpp_unittest.cc
|
| +++ b/mojo/apps/js/test/js_to_cpp_unittest.cc
|
| @@ -65,54 +65,6 @@ bool IsRunningOnIsolatedBot() {
|
| return false;
|
| }
|
|
|
| -// NOTE: Callers will need to have established an AllocationScope, or you're
|
| -// gonna have a bad time.
|
| -js_to_cpp::EchoArgs BuildSampleEchoArgs() {
|
| - js_to_cpp::EchoArgs::Builder builder;
|
| - builder.set_si64(kExpectedInt64Value);
|
| - builder.set_si32(kExpectedInt32Value);
|
| - builder.set_si16(kExpectedInt16Value);
|
| - builder.set_si8(kExpectedInt8Value);
|
| - builder.set_ui64(kExpectedUInt64Value);
|
| - builder.set_ui32(kExpectedUInt32Value);
|
| - builder.set_ui16(kExpectedUInt16Value);
|
| - builder.set_ui8(kExpectedUInt8Value);
|
| - builder.set_float_val(kExpectedFloatVal);
|
| - builder.set_float_inf(kExpectedFloatInf);
|
| - builder.set_float_nan(kExpectedFloatNan);
|
| - builder.set_double_val(kExpectedDoubleVal);
|
| - builder.set_double_inf(kExpectedDoubleInf);
|
| - builder.set_double_nan(kExpectedDoubleNan);
|
| - builder.set_name("coming");
|
| - mojo::Array<mojo::String>::Builder string_array(3);
|
| - string_array[0] = "one";
|
| - string_array[1] = "two";
|
| - string_array[2] = "three";
|
| - builder.set_string_array(string_array.Finish());
|
| - return builder.Finish();
|
| -}
|
| -
|
| -void CheckSampleEchoArgs(const js_to_cpp::EchoArgs& arg) {
|
| - EXPECT_EQ(kExpectedInt64Value, arg.si64());
|
| - EXPECT_EQ(kExpectedInt32Value, arg.si32());
|
| - EXPECT_EQ(kExpectedInt16Value, arg.si16());
|
| - EXPECT_EQ(kExpectedInt8Value, arg.si8());
|
| - EXPECT_EQ(kExpectedUInt64Value, arg.ui64());
|
| - EXPECT_EQ(kExpectedUInt32Value, arg.ui32());
|
| - EXPECT_EQ(kExpectedUInt16Value, arg.ui16());
|
| - EXPECT_EQ(kExpectedUInt8Value, arg.ui8());
|
| - EXPECT_EQ(kExpectedFloatVal, arg.float_val());
|
| - EXPECT_EQ(kExpectedFloatInf, arg.float_inf());
|
| - EXPECT_NAN(arg.float_nan());
|
| - EXPECT_EQ(kExpectedDoubleVal, arg.double_val());
|
| - EXPECT_EQ(kExpectedDoubleInf, arg.double_inf());
|
| - EXPECT_NAN(arg.double_nan());
|
| - EXPECT_EQ(std::string("coming"), arg.name().To<std::string>());
|
| - EXPECT_EQ(std::string("one"), arg.string_array()[0].To<std::string>());
|
| - EXPECT_EQ(std::string("two"), arg.string_array()[1].To<std::string>());
|
| - EXPECT_EQ(std::string("three"), arg.string_array()[2].To<std::string>());
|
| -}
|
| -
|
| void CheckDataPipe(MojoHandle data_pipe_handle) {
|
| char buffer[100];
|
| uint32_t buffer_size = static_cast<uint32_t>(sizeof(buffer));
|
| @@ -125,6 +77,68 @@ void CheckDataPipe(MojoHandle data_pipe_handle) {
|
| }
|
| }
|
|
|
| +// NOTE: Callers will need to have established an AllocationScope, or you're
|
| +// gonna have a bad time.
|
| +js_to_cpp::EchoArgs BuildSampleEchoArgs() {
|
| + js_to_cpp::EchoArgs::Builder builder;
|
| + builder.set_si64(kExpectedInt64Value);
|
| + builder.set_si32(kExpectedInt32Value);
|
| + builder.set_si16(kExpectedInt16Value);
|
| + builder.set_si8(kExpectedInt8Value);
|
| + builder.set_ui64(kExpectedUInt64Value);
|
| + builder.set_ui32(kExpectedUInt32Value);
|
| + builder.set_ui16(kExpectedUInt16Value);
|
| + builder.set_ui8(kExpectedUInt8Value);
|
| + builder.set_float_val(kExpectedFloatVal);
|
| + builder.set_float_inf(kExpectedFloatInf);
|
| + builder.set_float_nan(kExpectedFloatNan);
|
| + builder.set_double_val(kExpectedDoubleVal);
|
| + builder.set_double_inf(kExpectedDoubleInf);
|
| + builder.set_double_nan(kExpectedDoubleNan);
|
| + builder.set_name("coming");
|
| + mojo::Array<mojo::String>::Builder string_array(3);
|
| + string_array[0] = "one";
|
| + string_array[1] = "two";
|
| + string_array[2] = "three";
|
| + builder.set_string_array(string_array.Finish());
|
| + return builder.Finish();
|
| +}
|
| +
|
| +void CheckSampleEchoArgs(const js_to_cpp::EchoArgs& arg) {
|
| + EXPECT_EQ(kExpectedInt64Value, arg.si64());
|
| + EXPECT_EQ(kExpectedInt32Value, arg.si32());
|
| + EXPECT_EQ(kExpectedInt16Value, arg.si16());
|
| + EXPECT_EQ(kExpectedInt8Value, arg.si8());
|
| + EXPECT_EQ(kExpectedUInt64Value, arg.ui64());
|
| + EXPECT_EQ(kExpectedUInt32Value, arg.ui32());
|
| + EXPECT_EQ(kExpectedUInt16Value, arg.ui16());
|
| + EXPECT_EQ(kExpectedUInt8Value, arg.ui8());
|
| + EXPECT_EQ(kExpectedFloatVal, arg.float_val());
|
| + EXPECT_EQ(kExpectedFloatInf, arg.float_inf());
|
| + EXPECT_NAN(arg.float_nan());
|
| + EXPECT_EQ(kExpectedDoubleVal, arg.double_val());
|
| + EXPECT_EQ(kExpectedDoubleInf, arg.double_inf());
|
| + EXPECT_NAN(arg.double_nan());
|
| + EXPECT_EQ(std::string("coming"), arg.name().To<std::string>());
|
| + EXPECT_EQ(std::string("one"), arg.string_array()[0].To<std::string>());
|
| + EXPECT_EQ(std::string("two"), arg.string_array()[1].To<std::string>());
|
| + EXPECT_EQ(std::string("three"), arg.string_array()[2].To<std::string>());
|
| + CheckDataPipe(arg.data_handle().get().value());
|
| +}
|
| +
|
| +js_to_cpp::EchoArgsList BuildSampleEchoArgsList() {
|
| + js_to_cpp::EchoArgsList::Builder builder;
|
| + builder.set_item(BuildSampleEchoArgs());
|
| + return builder.Finish();
|
| +}
|
| +
|
| +void CheckSampleEchoArgsList(const js_to_cpp::EchoArgsList& list) {
|
| + if (list.is_null())
|
| + return;
|
| + CheckSampleEchoArgs(list.item());
|
| + CheckSampleEchoArgsList(list.next());
|
| +}
|
| +
|
| void CheckCorruptedString(const mojo::String& arg) {
|
| // The values don't matter so long as all accesses are within bounds.
|
| if (arg.is_null())
|
| @@ -168,8 +182,7 @@ class CppSideConnection : public js_to_cpp::CppSide {
|
| NOTREACHED();
|
| }
|
|
|
| - virtual void EchoResponse(const js_to_cpp::EchoArgs& arg1,
|
| - const js_to_cpp::EchoArgs& arg2) OVERRIDE {
|
| + virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE {
|
| NOTREACHED();
|
| }
|
|
|
| @@ -222,19 +235,18 @@ class EchoCppSideConnection : public CppSideConnection {
|
| // js_to_cpp::CppSide:
|
| virtual void StartTest() OVERRIDE {
|
| AllocationScope scope;
|
| - js_side_->Echo(kExpectedMessageCount, BuildSampleEchoArgs());
|
| + js_side_->Echo(kExpectedMessageCount, BuildSampleEchoArgsList());
|
| }
|
|
|
| - virtual void EchoResponse(const js_to_cpp::EchoArgs& arg1,
|
| - const js_to_cpp::EchoArgs& arg2) OVERRIDE {
|
| + virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE {
|
| + const js_to_cpp::EchoArgs& special_arg = list.item();
|
| message_count_ += 1;
|
| - CheckSampleEchoArgs(arg1);
|
| - EXPECT_EQ(-1, arg2.si64());
|
| - EXPECT_EQ(-1, arg2.si32());
|
| - EXPECT_EQ(-1, arg2.si16());
|
| - EXPECT_EQ(-1, arg2.si8());
|
| - EXPECT_EQ(std::string("going"), arg2.name().To<std::string>());
|
| - CheckDataPipe(arg2.data_handle().get().value());
|
| + EXPECT_EQ(-1, special_arg.si64());
|
| + EXPECT_EQ(-1, special_arg.si32());
|
| + EXPECT_EQ(-1, special_arg.si16());
|
| + EXPECT_EQ(-1, special_arg.si8());
|
| + EXPECT_EQ(std::string("going"), special_arg.name().To<std::string>());
|
| + CheckSampleEchoArgsList(list.next());
|
| }
|
|
|
| virtual void TestFinished() OVERRIDE {
|
|
|