Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(307)

Unified Diff: mojo/public/cpp/bindings/tests/struct_unittest.cc

Issue 2689513003: Add field-initializing constructors to generated mojo structs. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698