| Index: mojo/public/cpp/bindings/tests/union_unittest.cc
|
| diff --git a/mojo/public/cpp/bindings/tests/union_unittest.cc b/mojo/public/cpp/bindings/tests/union_unittest.cc
|
| index b09957bb9bc36d31f2283d1e2dd2ff9687535ee3..e79ea9f76416a3daa814e8192e7d0647f6970536 100644
|
| --- a/mojo/public/cpp/bindings/tests/union_unittest.cc
|
| +++ b/mojo/public/cpp/bindings/tests/union_unittest.cc
|
| @@ -9,6 +9,7 @@
|
| #include "mojo/public/cpp/bindings/lib/array_serialization.h"
|
| #include "mojo/public/cpp/bindings/lib/bounds_checker.h"
|
| #include "mojo/public/cpp/bindings/lib/fixed_buffer.h"
|
| +#include "mojo/public/cpp/bindings/lib/map_serialization.h"
|
| #include "mojo/public/cpp/bindings/string.h"
|
| #include "mojo/public/cpp/environment/environment.h"
|
| #include "mojo/public/cpp/test_support/test_utils.h"
|
| @@ -122,10 +123,10 @@ TEST(UnionTest, PodSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::PodUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod1.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod1.get(), &buf, &data, false);
|
|
|
| - PodUnionPtr pod2;
|
| - Deserialize_(data, &pod2);
|
| + PodUnionPtr pod2(PodUnion::New());
|
| + Deserialize_(data, pod2.get());
|
|
|
| EXPECT_EQ(10, pod2->get_f_int8());
|
| EXPECT_TRUE(pod2->is_f_int8());
|
| @@ -141,10 +142,10 @@ TEST(UnionTest, EnumSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::PodUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod1.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod1.get(), &buf, &data, false);
|
|
|
| - PodUnionPtr pod2;
|
| - Deserialize_(data, &pod2);
|
| + PodUnionPtr pod2 = PodUnion::New();
|
| + Deserialize_(data, pod2.get());
|
|
|
| EXPECT_EQ(AN_ENUM_SECOND, pod2->get_f_enum());
|
| EXPECT_TRUE(pod2->is_f_enum());
|
| @@ -160,7 +161,7 @@ TEST(UnionTest, PodValidation) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::PodUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod.get(), &buf, &data, false);
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| static_cast<uint32_t>(size), 0);
|
| @@ -175,7 +176,7 @@ TEST(UnionTest, SerializeNotNull) {
|
| size_t size = GetSerializedSize_(pod, false);
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::PodUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod.get(), &buf, &data, false);
|
| EXPECT_FALSE(data->is_null());
|
| }
|
|
|
| @@ -191,12 +192,12 @@ TEST(UnionTest, SerializeIsNullInlined) {
|
| data->tag = PodUnion::Tag::F_UINT16;
|
| data->data.f_f_int16 = 20;
|
|
|
| - SerializeUnion_(pod.Pass(), &buf, &data, true);
|
| + SerializeUnion_(pod.get(), &buf, &data, true);
|
| EXPECT_TRUE(data->is_null());
|
|
|
| - PodUnionPtr pod2;
|
| - Deserialize_(data, &pod2);
|
| - EXPECT_TRUE(pod2.is_null());
|
| + PodUnionPtr pod2 = PodUnion::New();
|
| + Deserialize_(data, pod2.get());
|
| + EXPECT_EQ(pod2->which(), PodUnion::Tag::__UNKNOWN__);
|
| }
|
|
|
| TEST(UnionTest, SerializeIsNullNotInlined) {
|
| @@ -205,7 +206,7 @@ TEST(UnionTest, SerializeIsNullNotInlined) {
|
| EXPECT_EQ(16U, size);
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::PodUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod.get(), &buf, &data, false);
|
| EXPECT_EQ(nullptr, data);
|
| }
|
|
|
| @@ -252,8 +253,8 @@ TEST(UnionTest, UnknownTagDeserialization) {
|
| data->size = size;
|
| data->tag = static_cast<internal::PodUnion_Data::PodUnion_Tag>(100);
|
|
|
| - PodUnionPtr pod2;
|
| - Deserialize_(data, &pod2);
|
| + PodUnionPtr pod2 = PodUnion::New();
|
| + Deserialize_(data, pod2.get());
|
|
|
| EXPECT_TRUE(pod2->has_unknown_tag());
|
| }
|
| @@ -315,14 +316,14 @@ TEST(UnionTest, StringSerialization) {
|
| size_t size = GetSerializedSize_(pod1, false);
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(pod1.Pass(), &buf, &data, false);
|
| + SerializeUnion_(pod1.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - ObjectUnionPtr pod2;
|
| - Deserialize_(data, &pod2);
|
| + ObjectUnionPtr pod2 = ObjectUnion::New();
|
| + Deserialize_(data, pod2.get());
|
| EXPECT_EQ(hello, pod2->get_f_string());
|
| EXPECT_TRUE(pod2->is_f_string());
|
| EXPECT_EQ(pod2->which(), ObjectUnion::Tag::F_STRING);
|
| @@ -409,7 +410,7 @@ TEST(UnionTest, PodUnionInArraySerialization) {
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| mojo::internal::Array_Data<internal::PodUnion_Data>* data;
|
| mojo::internal::ArrayValidateParams validate_params(0, false, nullptr);
|
| - SerializeArray_(array.Pass(), &buf, &data, &validate_params);
|
| + SerializeArray_(&array, &buf, &data, &validate_params);
|
|
|
| Array<PodUnionPtr> array2;
|
| Deserialize_(data, &array2);
|
| @@ -434,7 +435,7 @@ TEST(UnionTest, PodUnionInArrayValidation) {
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| mojo::internal::Array_Data<internal::PodUnion_Data>* data;
|
| mojo::internal::ArrayValidateParams validate_params(0, false, nullptr);
|
| - SerializeArray_(array.Pass(), &buf, &data, &validate_params);
|
| + SerializeArray_(&array, &buf, &data, &validate_params);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -458,7 +459,7 @@ TEST(UnionTest, PodUnionInArraySerializationWithNull) {
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| mojo::internal::Array_Data<internal::PodUnion_Data>* data;
|
| mojo::internal::ArrayValidateParams validate_params(0, true, nullptr);
|
| - SerializeArray_(array.Pass(), &buf, &data, &validate_params);
|
| + SerializeArray_(&array, &buf, &data, &validate_params);
|
|
|
| Array<PodUnionPtr> array2;
|
| Deserialize_(data, &array2);
|
| @@ -488,14 +489,14 @@ TEST(UnionTest, Serialization_UnionOfPods) {
|
| small_struct->pod_union = PodUnion::New();
|
| small_struct->pod_union->set_f_int32(10);
|
|
|
| - size_t size = GetSerializedSize_(small_struct);
|
| + size_t size = GetSerializedSize_(*small_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallStruct_Data* data = nullptr;
|
| - Serialize_(small_struct.Pass(), &buf, &data);
|
| + Serialize_(small_struct.get(), &buf, &data);
|
|
|
| - SmallStructPtr deserialized;
|
| - Deserialize_(data, &deserialized);
|
| + SmallStructPtr deserialized(SmallStruct::New());
|
| + Deserialize_(data, deserialized.get());
|
|
|
| EXPECT_EQ(10, deserialized->pod_union->get_f_int32());
|
| }
|
| @@ -508,18 +509,18 @@ TEST(UnionTest, Serialization_UnionOfObjects) {
|
| String hello("hello world");
|
| obj_struct->obj_union->set_f_string(hello);
|
|
|
| - size_t size = GetSerializedSize_(obj_struct);
|
| + size_t size = GetSerializedSize_(*obj_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallObjStruct_Data* data = nullptr;
|
| - Serialize_(obj_struct.Pass(), &buf, &data);
|
| + Serialize_(obj_struct.get(), &buf, &data);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - SmallObjStructPtr deserialized;
|
| - Deserialize_(data, &deserialized);
|
| + SmallObjStructPtr deserialized(SmallObjStruct::New());
|
| + Deserialize_(data, deserialized.get());
|
|
|
| EXPECT_EQ(hello, deserialized->obj_union->get_f_string());
|
| }
|
| @@ -531,11 +532,11 @@ TEST(UnionTest, Validation_UnionsInStruct) {
|
| small_struct->pod_union = PodUnion::New();
|
| small_struct->pod_union->set_f_int32(10);
|
|
|
| - size_t size = GetSerializedSize_(small_struct);
|
| + size_t size = GetSerializedSize_(*small_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallStruct_Data* data = nullptr;
|
| - Serialize_(small_struct.Pass(), &buf, &data);
|
| + Serialize_(small_struct.get(), &buf, &data);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -551,11 +552,11 @@ TEST(UnionTest, Validation_PodUnionInStruct_Failure) {
|
| small_struct->pod_union = PodUnion::New();
|
| small_struct->pod_union->set_f_int32(10);
|
|
|
| - size_t size = GetSerializedSize_(small_struct);
|
| + size_t size = GetSerializedSize_(*small_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallStruct_Data* data = nullptr;
|
| - Serialize_(small_struct.Pass(), &buf, &data);
|
| + Serialize_(small_struct.get(), &buf, &data);
|
| data->pod_union.tag = static_cast<internal::PodUnion_Data::PodUnion_Tag>(100);
|
|
|
| void* raw_buf = buf.Leak();
|
| @@ -571,7 +572,7 @@ TEST(UnionTest, Validation_NullUnion_Failure) {
|
| SmallStructNonNullableUnionPtr small_struct(
|
| SmallStructNonNullableUnion::New());
|
|
|
| - size_t size = GetSerializedSize_(small_struct);
|
| + size_t size = GetSerializedSize_(*small_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallStructNonNullableUnion_Data* data =
|
| @@ -590,11 +591,11 @@ TEST(UnionTest, Validation_NullableUnion) {
|
| Environment environment;
|
| SmallStructPtr small_struct(SmallStruct::New());
|
|
|
| - size_t size = GetSerializedSize_(small_struct);
|
| + size_t size = GetSerializedSize_(*small_struct);
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::SmallStruct_Data* data = nullptr;
|
| - Serialize_(small_struct.Pass(), &buf, &data);
|
| + Serialize_(small_struct.get(), &buf, &data);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -634,7 +635,7 @@ TEST(UnionTest, PodUnionInMapSerialization) {
|
| mojo::internal::Map_Data<mojo::internal::String_Data*,
|
| internal::PodUnion_Data>* data;
|
| mojo::internal::ArrayValidateParams validate_params(0, false, nullptr);
|
| - SerializeMap_(map.Pass(), &buf, &data, &validate_params);
|
| + SerializeMap_(&map, &buf, &data, &validate_params);
|
|
|
| Map<String, PodUnionPtr> map2;
|
| Deserialize_(data, &map2);
|
| @@ -658,7 +659,7 @@ TEST(UnionTest, PodUnionInMapSerializationWithNull) {
|
| mojo::internal::Map_Data<mojo::internal::String_Data*,
|
| internal::PodUnion_Data>* data;
|
| mojo::internal::ArrayValidateParams validate_params(0, true, nullptr);
|
| - SerializeMap_(map.Pass(), &buf, &data, &validate_params);
|
| + SerializeMap_(&map, &buf, &data, &validate_params);
|
|
|
| Map<String, PodUnionPtr> map2;
|
| Deserialize_(data, &map2);
|
| @@ -690,14 +691,14 @@ TEST(UnionTest, StructInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - ObjectUnionPtr obj2;
|
| - Deserialize_(data, &obj2);
|
| + ObjectUnionPtr obj2 = ObjectUnion::New();
|
| + Deserialize_(data, obj2.get());
|
| EXPECT_EQ(8, obj2->get_f_dummy()->f_int8);
|
| }
|
|
|
| @@ -713,7 +714,7 @@ TEST(UnionTest, StructInUnionValidation) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -734,7 +735,7 @@ TEST(UnionTest, StructInUnionValidationNonNullable) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -755,7 +756,7 @@ TEST(UnionTest, StructInUnionValidationNullable) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| void* raw_buf = buf.Leak();
|
| mojo::internal::BoundsChecker bounds_checker(data,
|
| @@ -794,14 +795,14 @@ TEST(UnionTest, ArrayInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - ObjectUnionPtr obj2;
|
| - Deserialize_(data, &obj2);
|
| + ObjectUnionPtr obj2 = ObjectUnion::New();
|
| + Deserialize_(data, obj2.get());
|
|
|
| EXPECT_EQ(8, obj2->get_f_array_int8()[0]);
|
| EXPECT_EQ(9, obj2->get_f_array_int8()[1]);
|
| @@ -820,7 +821,7 @@ TEST(UnionTest, ArrayInUnionValidation) {
|
| size_t size = GetSerializedSize_(obj, false);
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -861,14 +862,14 @@ TEST(UnionTest, MapInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - ObjectUnionPtr obj2;
|
| - Deserialize_(data, &obj2);
|
| + ObjectUnionPtr obj2 = ObjectUnion::New();
|
| + Deserialize_(data, obj2.get());
|
|
|
| EXPECT_EQ(1, obj2->get_f_map_int8()["one"]);
|
| EXPECT_EQ(2, obj2->get_f_map_int8()["two"]);
|
| @@ -888,7 +889,7 @@ TEST(UnionTest, MapInUnionValidation) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -925,14 +926,14 @@ TEST(UnionTest, UnionInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| - ObjectUnionPtr obj2;
|
| - Deserialize_(data, &obj2);
|
| + ObjectUnionPtr obj2 = ObjectUnion::New();
|
| + Deserialize_(data, obj2.get());
|
| EXPECT_EQ(10, obj2->get_f_pod_union()->get_f_int8());
|
| }
|
|
|
| @@ -949,7 +950,7 @@ TEST(UnionTest, UnionInUnionValidation) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -973,7 +974,7 @@ TEST(UnionTest, UnionInUnionValidationNonNullable) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::ObjectUnion_Data* data = nullptr;
|
| - SerializeUnion_(obj.Pass(), &buf, &data, false);
|
| + SerializeUnion_(obj.get(), &buf, &data, false);
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
|
|
| @@ -1017,7 +1018,7 @@ TEST(UnionTest, HandleInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::HandleUnion_Data* data = nullptr;
|
| - SerializeUnion_(handle.Pass(), &buf, &data, false);
|
| + SerializeUnion_(handle.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -1025,7 +1026,7 @@ TEST(UnionTest, HandleInUnionSerialization) {
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| HandleUnionPtr handle2(HandleUnion::New());
|
| - Deserialize_(data, &handle2);
|
| + Deserialize_(data, handle2.get());
|
|
|
| std::string golden("hello world");
|
| WriteTextMessage(pipe0.get(), golden);
|
| @@ -1051,7 +1052,7 @@ TEST(UnionTest, HandleInUnionValidation) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::HandleUnion_Data* data = nullptr;
|
| - SerializeUnion_(handle.Pass(), &buf, &data, false);
|
| + SerializeUnion_(handle.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -1075,7 +1076,7 @@ TEST(UnionTest, HandleInUnionValidationNull) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::HandleUnion_Data* data = nullptr;
|
| - SerializeUnion_(handle.Pass(), &buf, &data, false);
|
| + SerializeUnion_(handle.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -1132,7 +1133,7 @@ TEST(UnionTest, InterfaceInUnionSerialization) {
|
|
|
| mojo::internal::FixedBufferForTesting buf(size);
|
| internal::HandleUnion_Data* data = nullptr;
|
| - SerializeUnion_(handle.Pass(), &buf, &data, false);
|
| + SerializeUnion_(handle.get(), &buf, &data, false);
|
|
|
| std::vector<Handle> handles;
|
| data->EncodePointersAndHandles(&handles);
|
| @@ -1140,7 +1141,7 @@ TEST(UnionTest, InterfaceInUnionSerialization) {
|
| data->DecodePointersAndHandles(&handles);
|
|
|
| HandleUnionPtr handle2(HandleUnion::New());
|
| - Deserialize_(data, &handle2);
|
| + Deserialize_(data, handle2.get());
|
|
|
| handle2->get_f_small_cache()->SetIntValue(10);
|
| run_loop.RunUntilIdle();
|
|
|