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 504f59b9efe36bae00aa6c2f9a21bc0186a6d515..7b5e5ef198e1c0dffedcf3ebb74c7b0381efa90e 100644 |
--- a/mojo/apps/js/test/js_to_cpp_unittest.cc |
+++ b/mojo/apps/js/test/js_to_cpp_unittest.cc |
@@ -12,7 +12,6 @@ |
#include "mojo/apps/js/test/js_to_cpp.mojom.h" |
#include "mojo/common/common_type_converters.h" |
#include "mojo/common/test/test_utils.h" |
-#include "mojo/public/cpp/bindings/allocation_scope.h" |
#include "mojo/public/cpp/environment/environment.h" |
#include "mojo/public/cpp/system/core.h" |
#include "mojo/public/cpp/system/macros.h" |
@@ -89,74 +88,72 @@ void CheckMessagePipe(MojoHandle message_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); |
+js_to_cpp::EchoArgsPtr BuildSampleEchoArgs() { |
+ js_to_cpp::EchoArgsPtr args(js_to_cpp::EchoArgs::New()); |
+ args->si64 = kExpectedInt64Value; |
+ args->si32 = kExpectedInt32Value; |
+ args->si16 = kExpectedInt16Value; |
+ args->si8 = kExpectedInt8Value; |
+ args->ui64 = kExpectedUInt64Value; |
+ args->ui32 = kExpectedUInt32Value; |
+ args->ui16 = kExpectedUInt16Value; |
+ args->ui8 = kExpectedUInt8Value; |
+ args->float_val = kExpectedFloatVal; |
+ args->float_inf = kExpectedFloatInf; |
+ args->float_nan = kExpectedFloatNan; |
+ args->double_val = kExpectedDoubleVal; |
+ args->double_inf = kExpectedDoubleInf; |
+ args->double_nan = kExpectedDoubleNan; |
+ args->name = "coming"; |
+ Array<String> 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(); |
+ args->string_array = string_array.Pass(); |
+ return args.Pass(); |
} |
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()); |
- CheckMessagePipe(arg.message_handle().get().value()); |
+ 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.get()); |
+ EXPECT_EQ(std::string("one"), arg.string_array[0].get()); |
+ EXPECT_EQ(std::string("two"), arg.string_array[1].get()); |
+ EXPECT_EQ(std::string("three"), arg.string_array[2].get()); |
+ CheckDataPipe(arg.data_handle.get().value()); |
+ CheckMessagePipe(arg.message_handle.get().value()); |
} |
-void CheckSampleEchoArgsList(const js_to_cpp::EchoArgsList& list) { |
+void CheckSampleEchoArgsList(const js_to_cpp::EchoArgsListPtr& list) { |
if (list.is_null()) |
return; |
- CheckSampleEchoArgs(list.item()); |
- CheckSampleEchoArgsList(list.next()); |
+ CheckSampleEchoArgs(*list->item); |
+ CheckSampleEchoArgsList(list->next); |
} |
// More forgiving checks are needed in the face of potentially corrupt |
// messages. The values don't matter so long as all accesses are within |
// bounds. |
-void CheckCorruptedString(const mojo::String& arg) { |
+void CheckCorruptedString(const String& arg) { |
if (arg.is_null()) |
return; |
for (size_t i = 0; i < arg.size(); ++i) |
g_waste_accumulator += arg[i]; |
} |
-void CheckCorruptedStringArray(const mojo::Array<mojo::String>& string_array) { |
+void CheckCorruptedStringArray(const Array<String>& string_array) { |
if (string_array.is_null()) |
return; |
for (size_t i = 0; i < string_array.size(); ++i) |
@@ -185,22 +182,22 @@ void CheckCorruptedMessagePipe(MojoHandle message_pipe_handle) { |
g_waste_accumulator += buffer[i]; |
} |
-void CheckCorruptedEchoArgs(const js_to_cpp::EchoArgs& arg) { |
+void CheckCorruptedEchoArgs(const js_to_cpp::EchoArgsPtr& arg) { |
if (arg.is_null()) |
return; |
- CheckCorruptedString(arg.name()); |
- CheckCorruptedStringArray(arg.string_array()); |
- if (arg.data_handle().is_valid()) |
- CheckCorruptedDataPipe(arg.data_handle().get().value()); |
- if (arg.message_handle().is_valid()) |
- CheckCorruptedMessagePipe(arg.message_handle().get().value()); |
+ CheckCorruptedString(arg->name); |
+ CheckCorruptedStringArray(arg->string_array); |
+ if (arg->data_handle.is_valid()) |
+ CheckCorruptedDataPipe(arg->data_handle.get().value()); |
+ if (arg->message_handle.is_valid()) |
+ CheckCorruptedMessagePipe(arg->message_handle.get().value()); |
} |
-void CheckCorruptedEchoArgsList(const js_to_cpp::EchoArgsList& list) { |
+void CheckCorruptedEchoArgsList(const js_to_cpp::EchoArgsListPtr& list) { |
if (list.is_null()) |
return; |
- CheckCorruptedEchoArgs(list.item()); |
- CheckCorruptedEchoArgsList(list.next()); |
+ CheckCorruptedEchoArgs(list->item); |
+ CheckCorruptedEchoArgsList(list->next); |
} |
// Base Provider implementation class. It's expected that tests subclass and |
@@ -234,16 +231,16 @@ class CppSideConnection : public js_to_cpp::CppSide { |
mishandled_messages_ += 1; |
} |
- virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE { |
+ virtual void EchoResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
mishandled_messages_ += 1; |
} |
- virtual void BitFlipResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE { |
+ virtual void BitFlipResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
mishandled_messages_ += 1; |
} |
virtual void BackPointerResponse( |
- const js_to_cpp::EchoArgsList& list) OVERRIDE { |
+ js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
mishandled_messages_ += 1; |
} |
@@ -292,19 +289,18 @@ class EchoCppSideConnection : public CppSideConnection { |
// js_to_cpp::CppSide: |
virtual void StartTest() OVERRIDE { |
- AllocationScope scope; |
js_side_->Echo(kExpectedMessageCount, BuildSampleEchoArgs()); |
} |
- virtual void EchoResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE { |
- const js_to_cpp::EchoArgs& special_arg = list.item(); |
+ virtual void EchoResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
+ const js_to_cpp::EchoArgsPtr& special_arg = list->item; |
message_count_ += 1; |
- 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()); |
+ 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 { |
@@ -333,11 +329,10 @@ class BitFlipCppSideConnection : public CppSideConnection { |
// js_to_cpp::CppSide: |
virtual void StartTest() OVERRIDE { |
- AllocationScope scope; |
js_side_->BitFlip(BuildSampleEchoArgs()); |
} |
- virtual void BitFlipResponse(const js_to_cpp::EchoArgsList& list) OVERRIDE { |
+ virtual void BitFlipResponse(js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
CheckCorruptedEchoArgsList(list); |
} |
@@ -363,12 +358,11 @@ class BackPointerCppSideConnection : public CppSideConnection { |
// js_to_cpp::CppSide: |
virtual void StartTest() OVERRIDE { |
- AllocationScope scope; |
js_side_->BackPointer(BuildSampleEchoArgs()); |
} |
virtual void BackPointerResponse( |
- const js_to_cpp::EchoArgsList& list) OVERRIDE { |
+ js_to_cpp::EchoArgsListPtr list) OVERRIDE { |
CheckCorruptedEchoArgsList(list); |
} |