Index: mojo/public/cpp/bindings/tests/struct_unittest.cc |
diff --git a/mojo/public/cpp/bindings/tests/struct_unittest.cc b/mojo/public/cpp/bindings/tests/struct_unittest.cc |
index dcca35f34a8b8b345f113fdd1dcb9f44c22e3570..0cf74f2a9e5056046e5fed2dbef144d283eefaf1 100644 |
--- a/mojo/public/cpp/bindings/tests/struct_unittest.cc |
+++ b/mojo/public/cpp/bindings/tests/struct_unittest.cc |
@@ -17,12 +17,7 @@ namespace test { |
namespace { |
RectPtr MakeRect(int32_t factor = 1) { |
- RectPtr rect(Rect::New()); |
- rect->x = 1 * factor; |
- rect->y = 2 * factor; |
- rect->width = 10 * factor; |
- rect->height = 20 * factor; |
- return rect; |
+ return Rect::New(1 * factor, 2 * factor, 10 * factor, 20 * factor); |
} |
void CheckRect(const Rect& rect, int32_t factor = 1) { |
@@ -33,19 +28,10 @@ void CheckRect(const Rect& rect, int32_t factor = 1) { |
} |
MultiVersionStructPtr MakeMultiVersionStruct() { |
- MultiVersionStructPtr output(MultiVersionStruct::New()); |
- output->f_int32 = 123; |
- output->f_rect = MakeRect(5); |
- output->f_string.emplace("hello"); |
- output->f_array.emplace(3); |
- (*output->f_array)[0] = 10; |
- (*output->f_array)[1] = 9; |
- (*output->f_array)[2] = 8; |
MessagePipe pipe; |
- output->f_message_pipe = std::move(pipe.handle0); |
- output->f_int16 = 42; |
- |
- return output; |
+ return MultiVersionStruct::New(123, MakeRect(5), std::string("hello"), |
+ std::vector<int8_t>{10, 9, 8}, |
+ std::move(pipe.handle0), false, 42); |
} |
template <typename U, typename T> |
@@ -166,9 +152,7 @@ TEST_F(StructTest, Construction_StructPointers) { |
// Serialization test of a struct with struct pointers. |
TEST_F(StructTest, Serialization_StructPointers) { |
- RectPairPtr pair(RectPair::New()); |
- pair->first = MakeRect(); |
- pair->second = MakeRect(); |
+ RectPairPtr pair(RectPair::New(MakeRect(), MakeRect())); |
size_t size = |
mojo::internal::PrepareToSerialize<RectPairDataView>(pair, nullptr); |
@@ -187,8 +171,7 @@ TEST_F(StructTest, Serialization_StructPointers) { |
// Serialization test of a struct with an array member. |
TEST_F(StructTest, Serialization_ArrayPointers) { |
- NamedRegionPtr region(NamedRegion::New()); |
- region->name.emplace("region"); |
+ NamedRegionPtr region(NamedRegion::New(std::string("region"))); |
region->rects.emplace(4); |
for (size_t i = 0; i < region->rects->size(); ++i) |
(*region->rects)[i] = MakeRect(static_cast<int32_t>(i) + 1); |
@@ -247,10 +230,8 @@ TEST_F(StructTest, Serialization_NullArrayPointers) { |
// Tests deserializing structs as a newer version. |
TEST_F(StructTest, Versioning_OldToNew) { |
{ |
- MultiVersionStructV0Ptr input(MultiVersionStructV0::New()); |
- input->f_int32 = 123; |
- MultiVersionStructPtr expected_output(MultiVersionStruct::New()); |
- expected_output->f_int32 = 123; |
+ MultiVersionStructV0Ptr input(MultiVersionStructV0::New(123)); |
+ MultiVersionStructPtr expected_output(MultiVersionStruct::New(123)); |
MultiVersionStructPtr output = |
SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input)); |
@@ -259,12 +240,9 @@ TEST_F(StructTest, Versioning_OldToNew) { |
} |
{ |
- MultiVersionStructV1Ptr input(MultiVersionStructV1::New()); |
- input->f_int32 = 123; |
- input->f_rect = MakeRect(5); |
- MultiVersionStructPtr expected_output(MultiVersionStruct::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
+ MultiVersionStructV1Ptr input(MultiVersionStructV1::New(123, MakeRect(5))); |
+ MultiVersionStructPtr expected_output( |
+ MultiVersionStruct::New(123, MakeRect(5))); |
MultiVersionStructPtr output = |
SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input)); |
@@ -273,14 +251,10 @@ TEST_F(StructTest, Versioning_OldToNew) { |
} |
{ |
- MultiVersionStructV3Ptr input(MultiVersionStructV3::New()); |
- input->f_int32 = 123; |
- input->f_rect = MakeRect(5); |
- input->f_string.emplace("hello"); |
- MultiVersionStructPtr expected_output(MultiVersionStruct::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
+ MultiVersionStructV3Ptr input( |
+ MultiVersionStructV3::New(123, MakeRect(5), std::string("hello"))); |
+ MultiVersionStructPtr expected_output( |
+ MultiVersionStruct::New(123, MakeRect(5), std::string("hello"))); |
MultiVersionStructPtr output = |
SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input)); |
@@ -289,22 +263,10 @@ TEST_F(StructTest, Versioning_OldToNew) { |
} |
{ |
- MultiVersionStructV5Ptr input(MultiVersionStructV5::New()); |
- input->f_int32 = 123; |
- input->f_rect = MakeRect(5); |
- input->f_string.emplace("hello"); |
- input->f_array.emplace(3); |
- (*input->f_array)[0] = 10; |
- (*input->f_array)[1] = 9; |
- (*input->f_array)[2] = 8; |
- MultiVersionStructPtr expected_output(MultiVersionStruct::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
- expected_output->f_array.emplace(3); |
- (*expected_output->f_array)[0] = 10; |
- (*expected_output->f_array)[1] = 9; |
- (*expected_output->f_array)[2] = 8; |
+ MultiVersionStructV5Ptr input(MultiVersionStructV5::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8})); |
+ MultiVersionStructPtr expected_output(MultiVersionStruct::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8})); |
MultiVersionStructPtr output = |
SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input)); |
@@ -313,25 +275,13 @@ TEST_F(StructTest, Versioning_OldToNew) { |
} |
{ |
- MultiVersionStructV7Ptr input(MultiVersionStructV7::New()); |
- input->f_int32 = 123; |
- input->f_rect = MakeRect(5); |
- input->f_string.emplace("hello"); |
- input->f_array.emplace(3); |
- (*input->f_array)[0] = 10; |
- (*input->f_array)[1] = 9; |
- (*input->f_array)[2] = 8; |
MessagePipe pipe; |
- input->f_message_pipe = std::move(pipe.handle0); |
- |
- MultiVersionStructPtr expected_output(MultiVersionStruct::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
- expected_output->f_array.emplace(3); |
- (*expected_output->f_array)[0] = 10; |
- (*expected_output->f_array)[1] = 9; |
- (*expected_output->f_array)[2] = 8; |
+ MultiVersionStructV7Ptr input(MultiVersionStructV7::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8}, |
+ std::move(pipe.handle0))); |
+ |
+ MultiVersionStructPtr expected_output(MultiVersionStruct::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8})); |
// Save the raw handle value separately so that we can compare later. |
MojoHandle expected_handle = input->f_message_pipe.get().value(); |
@@ -348,14 +298,8 @@ TEST_F(StructTest, Versioning_OldToNew) { |
TEST_F(StructTest, Versioning_NewToOld) { |
{ |
MultiVersionStructPtr input = MakeMultiVersionStruct(); |
- MultiVersionStructV7Ptr expected_output(MultiVersionStructV7::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
- expected_output->f_array.emplace(3); |
- (*expected_output->f_array)[0] = 10; |
- (*expected_output->f_array)[1] = 9; |
- (*expected_output->f_array)[2] = 8; |
+ MultiVersionStructV7Ptr expected_output(MultiVersionStructV7::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8})); |
// Save the raw handle value separately so that we can compare later. |
MojoHandle expected_handle = input->f_message_pipe.get().value(); |
@@ -369,14 +313,8 @@ TEST_F(StructTest, Versioning_NewToOld) { |
{ |
MultiVersionStructPtr input = MakeMultiVersionStruct(); |
- MultiVersionStructV5Ptr expected_output(MultiVersionStructV5::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
- expected_output->f_array.emplace(3); |
- (*expected_output->f_array)[0] = 10; |
- (*expected_output->f_array)[1] = 9; |
- (*expected_output->f_array)[2] = 8; |
+ MultiVersionStructV5Ptr expected_output(MultiVersionStructV5::New( |
+ 123, MakeRect(5), std::string("hello"), std::vector<int8_t>{10, 9, 8})); |
MultiVersionStructV5Ptr output = |
SerializeAndDeserialize<MultiVersionStructV5Ptr>(std::move(input)); |
@@ -386,10 +324,8 @@ TEST_F(StructTest, Versioning_NewToOld) { |
{ |
MultiVersionStructPtr input = MakeMultiVersionStruct(); |
- MultiVersionStructV3Ptr expected_output(MultiVersionStructV3::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
- expected_output->f_string.emplace("hello"); |
+ MultiVersionStructV3Ptr expected_output( |
+ MultiVersionStructV3::New(123, MakeRect(5), std::string("hello"))); |
MultiVersionStructV3Ptr output = |
SerializeAndDeserialize<MultiVersionStructV3Ptr>(std::move(input)); |
@@ -399,9 +335,8 @@ TEST_F(StructTest, Versioning_NewToOld) { |
{ |
MultiVersionStructPtr input = MakeMultiVersionStruct(); |
- MultiVersionStructV1Ptr expected_output(MultiVersionStructV1::New()); |
- expected_output->f_int32 = 123; |
- expected_output->f_rect = MakeRect(5); |
+ MultiVersionStructV1Ptr expected_output( |
+ MultiVersionStructV1::New(123, MakeRect(5))); |
MultiVersionStructV1Ptr output = |
SerializeAndDeserialize<MultiVersionStructV1Ptr>(std::move(input)); |
@@ -411,8 +346,7 @@ TEST_F(StructTest, Versioning_NewToOld) { |
{ |
MultiVersionStructPtr input = MakeMultiVersionStruct(); |
- MultiVersionStructV0Ptr expected_output(MultiVersionStructV0::New()); |
- expected_output->f_int32 = 123; |
+ MultiVersionStructV0Ptr expected_output(MultiVersionStructV0::New(123)); |
MultiVersionStructV0Ptr output = |
SerializeAndDeserialize<MultiVersionStructV0Ptr>(std::move(input)); |
@@ -527,8 +461,7 @@ TEST_F(StructTest, Serialization_PublicAPI) { |
{ |
// A struct containing other objects. |
- NamedRegionPtr region(NamedRegion::New()); |
- region->name.emplace("region"); |
+ NamedRegionPtr region(NamedRegion::New(std::string("region"))); |
region->rects.emplace(3); |
for (size_t i = 0; i < region->rects->size(); ++i) |
(*region->rects)[i] = MakeRect(static_cast<int32_t>(i) + 1); |