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

Side by Side Diff: mojo/public/cpp/bindings/tests/map_unittest.cc

Issue 1397133002: Remove callers of mojo::Array<size_t> constructor in favor of ::New (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
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 "mojo/public/cpp/bindings/array.h" 5 #include "mojo/public/cpp/bindings/array.h"
6 #include "mojo/public/cpp/bindings/lib/array_serialization.h" 6 #include "mojo/public/cpp/bindings/lib/array_serialization.h"
7 #include "mojo/public/cpp/bindings/lib/bindings_internal.h" 7 #include "mojo/public/cpp/bindings/lib/bindings_internal.h"
8 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h" 8 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h"
9 #include "mojo/public/cpp/bindings/lib/map_serialization.h" 9 #include "mojo/public/cpp/bindings/lib/map_serialization.h"
10 #include "mojo/public/cpp/bindings/lib/validate_params.h" 10 #include "mojo/public/cpp/bindings/lib/validate_params.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 } 78 }
79 } 79 }
80 80
81 TEST_F(MapTest, TestIndexOperatorMoveOnly) { 81 TEST_F(MapTest, TestIndexOperatorMoveOnly) {
82 ASSERT_EQ(0u, MoveOnlyType::num_instances()); 82 ASSERT_EQ(0u, MoveOnlyType::num_instances());
83 mojo::Map<mojo::String, mojo::Array<int32_t>> map; 83 mojo::Map<mojo::String, mojo::Array<int32_t>> map;
84 std::vector<MoveOnlyType*> value_ptrs; 84 std::vector<MoveOnlyType*> value_ptrs;
85 85
86 for (size_t i = 0; i < kStringIntDataSize; ++i) { 86 for (size_t i = 0; i < kStringIntDataSize; ++i) {
87 const char* key = kStringIntData[i].string_data; 87 const char* key = kStringIntData[i].string_data;
88 Array<int32_t> array(1); 88 auto array = Array<int32_t>::New(1);
89 array[0] = kStringIntData[i].int_data; 89 array[0] = kStringIntData[i].int_data;
90 map[key] = array.Pass(); 90 map[key] = array.Pass();
91 EXPECT_TRUE(map); 91 EXPECT_TRUE(map);
92 } 92 }
93 93
94 // We now read back that data, to test the behavior of operator[]. 94 // We now read back that data, to test the behavior of operator[].
95 for (size_t i = 0; i < kStringIntDataSize; ++i) { 95 for (size_t i = 0; i < kStringIntDataSize; ++i) {
96 auto it = map.find(kStringIntData[i].string_data); 96 auto it = map.find(kStringIntData[i].string_data);
97 ASSERT_TRUE(it != map.end()); 97 ASSERT_TRUE(it != map.end());
98 ASSERT_EQ(1u, it.GetValue().size()); 98 ASSERT_EQ(1u, it.GetValue().size());
99 EXPECT_EQ(kStringIntData[i].int_data, it.GetValue()[0]); 99 EXPECT_EQ(kStringIntData[i].int_data, it.GetValue()[0]);
100 } 100 }
101 } 101 }
102 102
103 TEST_F(MapTest, ConstructedFromArray) { 103 TEST_F(MapTest, ConstructedFromArray) {
104 Array<String> keys(kStringIntDataSize); 104 auto keys = Array<String>::New(kStringIntDataSize);
105 Array<int> values(kStringIntDataSize); 105 auto values = Array<int>::New(kStringIntDataSize);
106 for (size_t i = 0; i < kStringIntDataSize; ++i) { 106 for (size_t i = 0; i < kStringIntDataSize; ++i) {
107 keys[i] = kStringIntData[i].string_data; 107 keys[i] = kStringIntData[i].string_data;
108 values[i] = kStringIntData[i].int_data; 108 values[i] = kStringIntData[i].int_data;
109 } 109 }
110 110
111 Map<String, int> map(keys.Pass(), values.Pass()); 111 Map<String, int> map(keys.Pass(), values.Pass());
112 112
113 for (size_t i = 0; i < kStringIntDataSize; ++i) { 113 for (size_t i = 0; i < kStringIntDataSize; ++i) {
114 EXPECT_EQ(kStringIntData[i].int_data, 114 EXPECT_EQ(kStringIntData[i].int_data,
115 map.at(mojo::String(kStringIntData[i].string_data))); 115 map.at(mojo::String(kStringIntData[i].string_data)));
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 Map<String, Array<String>> m2 = m.Clone(); 231 Map<String, Array<String>> m2 = m.Clone();
232 232
233 for (auto it = m2.begin(); it != m2.end(); ++it) { 233 for (auto it = m2.begin(); it != m2.end(); ++it) {
234 ASSERT_EQ(1u, it.GetValue().size()); 234 ASSERT_EQ(1u, it.GetValue().size());
235 EXPECT_EQ(it.GetKey(), it.GetValue().at(0)); 235 EXPECT_EQ(it.GetKey(), it.GetValue().at(0));
236 } 236 }
237 } 237 }
238 238
239 TEST_F(MapTest, ArrayOfMap) { 239 TEST_F(MapTest, ArrayOfMap) {
240 { 240 {
241 Array<Map<int32_t, int8_t>> array(1); 241 auto array = Array<Map<int32_t, int8_t>>::New(1);
242 array[0].insert(1, 42); 242 array[0].insert(1, 42);
243 243
244 size_t size = GetSerializedSize_(array); 244 size_t size = GetSerializedSize_(array);
245 FixedBufferForTesting buf(size); 245 FixedBufferForTesting buf(size);
246 Array_Data<Map_Data<int32_t, int8_t>*>* data; 246 Array_Data<Map_Data<int32_t, int8_t>*>* data;
247 ArrayValidateParams validate_params( 247 ArrayValidateParams validate_params(
248 0, false, new ArrayValidateParams(0, false, nullptr)); 248 0, false, new ArrayValidateParams(0, false, nullptr));
249 SerializeArray_(&array, &buf, &data, &validate_params); 249 SerializeArray_(&array, &buf, &data, &validate_params);
250 250
251 Array<Map<int32_t, int8_t>> deserialized_array; 251 Array<Map<int32_t, int8_t>> deserialized_array;
252 Deserialize_(data, &deserialized_array); 252 Deserialize_(data, &deserialized_array);
253 253
254 ASSERT_EQ(1u, deserialized_array.size()); 254 ASSERT_EQ(1u, deserialized_array.size());
255 ASSERT_EQ(1u, deserialized_array[0].size()); 255 ASSERT_EQ(1u, deserialized_array[0].size());
256 ASSERT_EQ(42, deserialized_array[0].at(1)); 256 ASSERT_EQ(42, deserialized_array[0].at(1));
257 } 257 }
258 258
259 { 259 {
260 Array<Map<String, Array<bool>>> array(1); 260 auto array = Array<Map<String, Array<bool>>>::New(1);
261 Array<bool> map_value(2); 261 auto map_value = Array<bool>::New(2);
262 map_value[0] = false; 262 map_value[0] = false;
263 map_value[1] = true; 263 map_value[1] = true;
264 array[0].insert("hello world", map_value.Pass()); 264 array[0].insert("hello world", map_value.Pass());
265 265
266 size_t size = GetSerializedSize_(array); 266 size_t size = GetSerializedSize_(array);
267 FixedBufferForTesting buf(size); 267 FixedBufferForTesting buf(size);
268 Array_Data<Map_Data<String_Data*, Array_Data<bool>*>*>* data; 268 Array_Data<Map_Data<String_Data*, Array_Data<bool>*>*>* data;
269 ArrayValidateParams validate_params( 269 ArrayValidateParams validate_params(
270 0, false, new ArrayValidateParams( 270 0, false, new ArrayValidateParams(
271 0, false, new ArrayValidateParams(0, false, nullptr))); 271 0, false, new ArrayValidateParams(0, false, nullptr)));
272 SerializeArray_(&array, &buf, &data, &validate_params); 272 SerializeArray_(&array, &buf, &data, &validate_params);
273 273
274 Array<Map<String, Array<bool>>> deserialized_array; 274 Array<Map<String, Array<bool>>> deserialized_array;
275 Deserialize_(data, &deserialized_array); 275 Deserialize_(data, &deserialized_array);
276 276
277 ASSERT_EQ(1u, deserialized_array.size()); 277 ASSERT_EQ(1u, deserialized_array.size());
278 ASSERT_EQ(1u, deserialized_array[0].size()); 278 ASSERT_EQ(1u, deserialized_array[0].size());
279 ASSERT_FALSE(deserialized_array[0].at("hello world")[0]); 279 ASSERT_FALSE(deserialized_array[0].at("hello world")[0]);
280 ASSERT_TRUE(deserialized_array[0].at("hello world")[1]); 280 ASSERT_TRUE(deserialized_array[0].at("hello world")[1]);
281 } 281 }
282 } 282 }
283 283
284 } // namespace 284 } // namespace
285 } // namespace test 285 } // namespace test
286 } // namespace mojo 286 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/tests/handle_passing_unittest.cc ('k') | mojo/public/cpp/bindings/tests/sample_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698