| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 #include <utility> | 7 #include <utility> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 void* raw_buf = buf.Leak(); | 406 void* raw_buf = buf.Leak(); |
| 407 EXPECT_FALSE(internal::ObjectUnion_Data::Validate( | 407 EXPECT_FALSE(internal::ObjectUnion_Data::Validate( |
| 408 raw_buf, &validation_context, false)); | 408 raw_buf, &validation_context, false)); |
| 409 free(raw_buf); | 409 free(raw_buf); |
| 410 } | 410 } |
| 411 | 411 |
| 412 // TODO(azani): Move back in array_unittest.cc when possible. | 412 // TODO(azani): Move back in array_unittest.cc when possible. |
| 413 // Array tests | 413 // Array tests |
| 414 TEST(UnionTest, PodUnionInArray) { | 414 TEST(UnionTest, PodUnionInArray) { |
| 415 SmallStructPtr small_struct(SmallStruct::New()); | 415 SmallStructPtr small_struct(SmallStruct::New()); |
| 416 small_struct->pod_union_array = Array<PodUnionPtr>(2); | 416 small_struct->pod_union_array.emplace(2); |
| 417 small_struct->pod_union_array[0] = PodUnion::New(); | 417 small_struct->pod_union_array.value()[0] = PodUnion::New(); |
| 418 small_struct->pod_union_array[1] = PodUnion::New(); | 418 small_struct->pod_union_array.value()[1] = PodUnion::New(); |
| 419 | 419 |
| 420 small_struct->pod_union_array[0]->set_f_int8(10); | 420 small_struct->pod_union_array.value()[0]->set_f_int8(10); |
| 421 small_struct->pod_union_array[1]->set_f_int16(12); | 421 small_struct->pod_union_array.value()[1]->set_f_int16(12); |
| 422 | 422 |
| 423 EXPECT_EQ(10, small_struct->pod_union_array[0]->get_f_int8()); | 423 EXPECT_EQ(10, small_struct->pod_union_array.value()[0]->get_f_int8()); |
| 424 EXPECT_EQ(12, small_struct->pod_union_array[1]->get_f_int16()); | 424 EXPECT_EQ(12, small_struct->pod_union_array.value()[1]->get_f_int16()); |
| 425 } | 425 } |
| 426 | 426 |
| 427 TEST(UnionTest, PodUnionInArraySerialization) { | 427 TEST(UnionTest, PodUnionInArraySerialization) { |
| 428 Array<PodUnionPtr> array(2); | 428 Array<PodUnionPtr> array(2); |
| 429 array[0] = PodUnion::New(); | 429 array[0] = PodUnion::New(); |
| 430 array[1] = PodUnion::New(); | 430 array[1] = PodUnion::New(); |
| 431 | 431 |
| 432 array[0]->set_f_int8(10); | 432 array[0]->set_f_int8(10); |
| 433 array[1]->set_f_int16(12); | 433 array[1]->set_f_int16(12); |
| 434 EXPECT_EQ(2U, array.size()); | 434 EXPECT_EQ(2U, array.size()); |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 data, static_cast<uint32_t>(size), 0); | 662 data, static_cast<uint32_t>(size), 0); |
| 663 EXPECT_TRUE(internal::SmallStruct_Data::Validate( | 663 EXPECT_TRUE(internal::SmallStruct_Data::Validate( |
| 664 raw_buf, &validation_context)); | 664 raw_buf, &validation_context)); |
| 665 free(raw_buf); | 665 free(raw_buf); |
| 666 } | 666 } |
| 667 | 667 |
| 668 // TODO(azani): Move back in map_unittest.cc when possible. | 668 // TODO(azani): Move back in map_unittest.cc when possible. |
| 669 // Map Tests | 669 // Map Tests |
| 670 TEST(UnionTest, PodUnionInMap) { | 670 TEST(UnionTest, PodUnionInMap) { |
| 671 SmallStructPtr small_struct(SmallStruct::New()); | 671 SmallStructPtr small_struct(SmallStruct::New()); |
| 672 small_struct->pod_union_map = Map<String, PodUnionPtr>(); | 672 small_struct->pod_union_map.emplace(); |
| 673 small_struct->pod_union_map.insert("one", PodUnion::New()); | 673 small_struct->pod_union_map.value()["one"] = PodUnion::New(); |
| 674 small_struct->pod_union_map.insert("two", PodUnion::New()); | 674 small_struct->pod_union_map.value()["two"] = PodUnion::New(); |
| 675 | 675 |
| 676 small_struct->pod_union_map["one"]->set_f_int8(8); | 676 small_struct->pod_union_map.value()["one"]->set_f_int8(8); |
| 677 small_struct->pod_union_map["two"]->set_f_int16(16); | 677 small_struct->pod_union_map.value()["two"]->set_f_int16(16); |
| 678 | 678 |
| 679 EXPECT_EQ(8, small_struct->pod_union_map["one"]->get_f_int8()); | 679 EXPECT_EQ(8, small_struct->pod_union_map.value()["one"]->get_f_int8()); |
| 680 EXPECT_EQ(16, small_struct->pod_union_map["two"]->get_f_int16()); | 680 EXPECT_EQ(16, small_struct->pod_union_map.value()["two"]->get_f_int16()); |
| 681 } | 681 } |
| 682 | 682 |
| 683 TEST(UnionTest, PodUnionInMapSerialization) { | 683 TEST(UnionTest, PodUnionInMapSerialization) { |
| 684 Map<String, PodUnionPtr> map; | 684 Map<String, PodUnionPtr> map; |
| 685 map.insert("one", PodUnion::New()); | 685 map.insert("one", PodUnion::New()); |
| 686 map.insert("two", PodUnion::New()); | 686 map.insert("two", PodUnion::New()); |
| 687 | 687 |
| 688 map["one"]->set_f_int8(8); | 688 map["one"]->set_f_int8(8); |
| 689 map["two"]->set_f_int16(16); | 689 map["two"]->set_f_int16(16); |
| 690 | 690 |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 885 void* raw_buf = buf.Leak(); | 885 void* raw_buf = buf.Leak(); |
| 886 mojo::internal::ValidationContext validation_context( | 886 mojo::internal::ValidationContext validation_context( |
| 887 data, static_cast<uint32_t>(size), 0); | 887 data, static_cast<uint32_t>(size), 0); |
| 888 | 888 |
| 889 EXPECT_TRUE(internal::ObjectUnion_Data::Validate( | 889 EXPECT_TRUE(internal::ObjectUnion_Data::Validate( |
| 890 raw_buf, &validation_context, false)); | 890 raw_buf, &validation_context, false)); |
| 891 free(raw_buf); | 891 free(raw_buf); |
| 892 } | 892 } |
| 893 | 893 |
| 894 TEST(UnionTest, MapInUnionGetterSetter) { | 894 TEST(UnionTest, MapInUnionGetterSetter) { |
| 895 Map<String, int8_t> map; | 895 std::unordered_map<std::string, int8_t> map; |
| 896 map.insert("one", 1); | 896 map.insert({"one", 1}); |
| 897 map.insert("two", 2); | 897 map.insert({"two", 2}); |
| 898 | 898 |
| 899 ObjectUnionPtr obj(ObjectUnion::New()); | 899 ObjectUnionPtr obj(ObjectUnion::New()); |
| 900 obj->set_f_map_int8(std::move(map)); | 900 obj->set_f_map_int8(std::move(map)); |
| 901 | 901 |
| 902 EXPECT_EQ(1, obj->get_f_map_int8()["one"]); | 902 EXPECT_EQ(1, obj->get_f_map_int8()["one"]); |
| 903 EXPECT_EQ(2, obj->get_f_map_int8()["two"]); | 903 EXPECT_EQ(2, obj->get_f_map_int8()["two"]); |
| 904 } | 904 } |
| 905 | 905 |
| 906 TEST(UnionTest, MapInUnionSerialization) { | 906 TEST(UnionTest, MapInUnionSerialization) { |
| 907 Map<String, int8_t> map; | 907 std::unordered_map<std::string, int8_t> map; |
| 908 map.insert("one", 1); | 908 map.insert({"one", 1}); |
| 909 map.insert("two", 2); | 909 map.insert({"two", 2}); |
| 910 | 910 |
| 911 ObjectUnionPtr obj(ObjectUnion::New()); | 911 ObjectUnionPtr obj(ObjectUnion::New()); |
| 912 obj->set_f_map_int8(std::move(map)); | 912 obj->set_f_map_int8(std::move(map)); |
| 913 | 913 |
| 914 mojo::internal::SerializationContext context; | 914 mojo::internal::SerializationContext context; |
| 915 size_t size = | 915 size_t size = |
| 916 mojo::internal::PrepareToSerialize<ObjectUnionPtr>(obj, false, &context); | 916 mojo::internal::PrepareToSerialize<ObjectUnionPtr>(obj, false, &context); |
| 917 EXPECT_EQ(112U, size); | 917 EXPECT_EQ(112U, size); |
| 918 | 918 |
| 919 mojo::internal::FixedBufferForTesting buf(size); | 919 mojo::internal::FixedBufferForTesting buf(size); |
| 920 internal::ObjectUnion_Data* data = nullptr; | 920 internal::ObjectUnion_Data* data = nullptr; |
| 921 mojo::internal::Serialize<ObjectUnionPtr>(obj, &buf, &data, false, &context); | 921 mojo::internal::Serialize<ObjectUnionPtr>(obj, &buf, &data, false, &context); |
| 922 | 922 |
| 923 ObjectUnionPtr obj2; | 923 ObjectUnionPtr obj2; |
| 924 mojo::internal::Deserialize<ObjectUnionPtr>(data, &obj2, &context); | 924 mojo::internal::Deserialize<ObjectUnionPtr>(data, &obj2, &context); |
| 925 | 925 |
| 926 EXPECT_EQ(1, obj2->get_f_map_int8()["one"]); | 926 EXPECT_EQ(1, obj2->get_f_map_int8()["one"]); |
| 927 EXPECT_EQ(2, obj2->get_f_map_int8()["two"]); | 927 EXPECT_EQ(2, obj2->get_f_map_int8()["two"]); |
| 928 } | 928 } |
| 929 | 929 |
| 930 TEST(UnionTest, MapInUnionValidation) { | 930 TEST(UnionTest, MapInUnionValidation) { |
| 931 Map<String, int8_t> map; | 931 std::unordered_map<std::string, int8_t> map; |
| 932 map.insert("one", 1); | 932 map.insert({"one", 1}); |
| 933 map.insert("two", 2); | 933 map.insert({"two", 2}); |
| 934 | 934 |
| 935 ObjectUnionPtr obj(ObjectUnion::New()); | 935 ObjectUnionPtr obj(ObjectUnion::New()); |
| 936 obj->set_f_map_int8(std::move(map)); | 936 obj->set_f_map_int8(std::move(map)); |
| 937 | 937 |
| 938 mojo::internal::SerializationContext context; | 938 mojo::internal::SerializationContext context; |
| 939 size_t size = | 939 size_t size = |
| 940 mojo::internal::PrepareToSerialize<ObjectUnionPtr>(obj, false, &context); | 940 mojo::internal::PrepareToSerialize<ObjectUnionPtr>(obj, false, &context); |
| 941 EXPECT_EQ(112U, size); | 941 EXPECT_EQ(112U, size); |
| 942 | 942 |
| 943 mojo::internal::FixedBufferForTesting buf(size); | 943 mojo::internal::FixedBufferForTesting buf(size); |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1217 | 1217 |
| 1218 PodUnionPtr pod(PodUnion::New()); | 1218 PodUnionPtr pod(PodUnion::New()); |
| 1219 pod->set_f_int16(16); | 1219 pod->set_f_int16(16); |
| 1220 | 1220 |
| 1221 ptr->Echo(std::move(pod), base::Bind(&ExpectInt16, 16)); | 1221 ptr->Echo(std::move(pod), base::Bind(&ExpectInt16, 16)); |
| 1222 base::RunLoop().RunUntilIdle(); | 1222 base::RunLoop().RunUntilIdle(); |
| 1223 } | 1223 } |
| 1224 | 1224 |
| 1225 } // namespace test | 1225 } // namespace test |
| 1226 } // namespace mojo | 1226 } // namespace mojo |
| OLD | NEW |