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

Side by Side Diff: mojo/public/cpp/bindings/tests/array_common_test.h

Issue 2030873002: Mojo C++ bindings: rename ArrayValidateParams for clarity (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cc-enums
Patch Set: Rebase Created 4 years, 6 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 8
9 #include "mojo/public/cpp/bindings/lib/array_internal.h" 9 #include "mojo/public/cpp/bindings/lib/array_internal.h"
10 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h" 10 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h"
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 ArrayType<int32_t> array(4); 165 ArrayType<int32_t> array(4);
166 for (size_t i = 0; i < array.size(); ++i) 166 for (size_t i = 0; i < array.size(); ++i)
167 array[i] = static_cast<int32_t>(i); 167 array[i] = static_cast<int32_t>(i);
168 168
169 size_t size = 169 size_t size =
170 mojo::internal::PrepareToSerialize<Array<int32_t>>(array, nullptr); 170 mojo::internal::PrepareToSerialize<Array<int32_t>>(array, nullptr);
171 EXPECT_EQ(8U + 4 * 4U, size); 171 EXPECT_EQ(8U + 4 * 4U, size);
172 172
173 mojo::internal::FixedBufferForTesting buf(size); 173 mojo::internal::FixedBufferForTesting buf(size);
174 mojo::internal::Array_Data<int32_t>* data; 174 mojo::internal::Array_Data<int32_t>* data;
175 mojo::internal::ArrayValidateParams validate_params(0, false, nullptr); 175 mojo::internal::ContainerValidateParams validate_params(0, false, nullptr);
176 mojo::internal::Serialize<Array<int32_t>>(array, &buf, &data, 176 mojo::internal::Serialize<Array<int32_t>>(array, &buf, &data,
177 &validate_params, nullptr); 177 &validate_params, nullptr);
178 178
179 ArrayType<int32_t> array2; 179 ArrayType<int32_t> array2;
180 mojo::internal::Deserialize<Array<int32_t>>(data, &array2, nullptr); 180 mojo::internal::Deserialize<Array<int32_t>>(data, &array2, nullptr);
181 181
182 EXPECT_EQ(4U, array2.size()); 182 EXPECT_EQ(4U, array2.size());
183 for (size_t i = 0; i < array2.size(); ++i) 183 for (size_t i = 0; i < array2.size(); ++i)
184 EXPECT_EQ(static_cast<int32_t>(i), array2[i]); 184 EXPECT_EQ(static_cast<int32_t>(i), array2[i]);
185 } 185 }
186 186
187 static void Serialization_EmptyArrayOfPOD() { 187 static void Serialization_EmptyArrayOfPOD() {
188 ArrayType<int32_t> array; 188 ArrayType<int32_t> array;
189 size_t size = 189 size_t size =
190 mojo::internal::PrepareToSerialize<Array<int32_t>>(array, nullptr); 190 mojo::internal::PrepareToSerialize<Array<int32_t>>(array, nullptr);
191 EXPECT_EQ(8U, size); 191 EXPECT_EQ(8U, size);
192 192
193 mojo::internal::FixedBufferForTesting buf(size); 193 mojo::internal::FixedBufferForTesting buf(size);
194 mojo::internal::Array_Data<int32_t>* data; 194 mojo::internal::Array_Data<int32_t>* data;
195 mojo::internal::ArrayValidateParams validate_params(0, false, nullptr); 195 mojo::internal::ContainerValidateParams validate_params(0, false, nullptr);
196 mojo::internal::Serialize<Array<int32_t>>(array, &buf, &data, 196 mojo::internal::Serialize<Array<int32_t>>(array, &buf, &data,
197 &validate_params, nullptr); 197 &validate_params, nullptr);
198 198
199 ArrayType<int32_t> array2; 199 ArrayType<int32_t> array2;
200 mojo::internal::Deserialize<Array<int32_t>>(data, &array2, nullptr); 200 mojo::internal::Deserialize<Array<int32_t>>(data, &array2, nullptr);
201 EXPECT_EQ(0U, array2.size()); 201 EXPECT_EQ(0U, array2.size());
202 } 202 }
203 203
204 static void Serialization_ArrayOfArrayOfPOD() { 204 static void Serialization_ArrayOfArrayOfPOD() {
205 ArrayType<ArrayType<int32_t>> array(2); 205 ArrayType<ArrayType<int32_t>> array(2);
206 for (size_t j = 0; j < array.size(); ++j) { 206 for (size_t j = 0; j < array.size(); ++j) {
207 ArrayType<int32_t> inner(4); 207 ArrayType<int32_t> inner(4);
208 for (size_t i = 0; i < inner.size(); ++i) 208 for (size_t i = 0; i < inner.size(); ++i)
209 inner[i] = static_cast<int32_t>(i + (j * 10)); 209 inner[i] = static_cast<int32_t>(i + (j * 10));
210 array[j] = std::move(inner); 210 array[j] = std::move(inner);
211 } 211 }
212 212
213 size_t size = mojo::internal::PrepareToSerialize<Array<Array<int32_t>>>( 213 size_t size = mojo::internal::PrepareToSerialize<Array<Array<int32_t>>>(
214 array, nullptr); 214 array, nullptr);
215 EXPECT_EQ(8U + 2 * 8U + 2 * (8U + 4 * 4U), size); 215 EXPECT_EQ(8U + 2 * 8U + 2 * (8U + 4 * 4U), size);
216 216
217 mojo::internal::FixedBufferForTesting buf(size); 217 mojo::internal::FixedBufferForTesting buf(size);
218 mojo::internal::Array_Data<mojo::internal::Array_Data<int32_t>*>* data; 218 mojo::internal::Array_Data<mojo::internal::Array_Data<int32_t>*>* data;
219 mojo::internal::ArrayValidateParams validate_params( 219 mojo::internal::ContainerValidateParams validate_params(
220 0, false, new mojo::internal::ArrayValidateParams(0, false, nullptr)); 220 0, false,
221 new mojo::internal::ContainerValidateParams(0, false, nullptr));
221 mojo::internal::Serialize<Array<Array<int32_t>>>(array, &buf, &data, 222 mojo::internal::Serialize<Array<Array<int32_t>>>(array, &buf, &data,
222 &validate_params, nullptr); 223 &validate_params, nullptr);
223 224
224 ArrayType<ArrayType<int32_t>> array2; 225 ArrayType<ArrayType<int32_t>> array2;
225 mojo::internal::Deserialize<Array<Array<int32_t>>>(data, &array2, nullptr); 226 mojo::internal::Deserialize<Array<Array<int32_t>>>(data, &array2, nullptr);
226 227
227 EXPECT_EQ(2U, array2.size()); 228 EXPECT_EQ(2U, array2.size());
228 for (size_t j = 0; j < array2.size(); ++j) { 229 for (size_t j = 0; j < array2.size(); ++j) {
229 const ArrayType<int32_t>& inner = array2[j]; 230 const ArrayType<int32_t>& inner = array2[j];
230 EXPECT_EQ(4U, inner.size()); 231 EXPECT_EQ(4U, inner.size());
231 for (size_t i = 0; i < inner.size(); ++i) 232 for (size_t i = 0; i < inner.size(); ++i)
232 EXPECT_EQ(static_cast<int32_t>(i + (j * 10)), inner[i]); 233 EXPECT_EQ(static_cast<int32_t>(i + (j * 10)), inner[i]);
233 } 234 }
234 } 235 }
235 236
236 static void Serialization_ArrayOfBool() { 237 static void Serialization_ArrayOfBool() {
237 ArrayType<bool> array(10); 238 ArrayType<bool> array(10);
238 for (size_t i = 0; i < array.size(); ++i) 239 for (size_t i = 0; i < array.size(); ++i)
239 array[i] = i % 2 ? true : false; 240 array[i] = i % 2 ? true : false;
240 241
241 size_t size = 242 size_t size =
242 mojo::internal::PrepareToSerialize<Array<bool>>(array, nullptr); 243 mojo::internal::PrepareToSerialize<Array<bool>>(array, nullptr);
243 EXPECT_EQ(8U + 8U, size); 244 EXPECT_EQ(8U + 8U, size);
244 245
245 mojo::internal::FixedBufferForTesting buf(size); 246 mojo::internal::FixedBufferForTesting buf(size);
246 mojo::internal::Array_Data<bool>* data; 247 mojo::internal::Array_Data<bool>* data;
247 mojo::internal::ArrayValidateParams validate_params(0, false, nullptr); 248 mojo::internal::ContainerValidateParams validate_params(0, false, nullptr);
248 mojo::internal::Serialize<Array<bool>>(array, &buf, &data, &validate_params, 249 mojo::internal::Serialize<Array<bool>>(array, &buf, &data, &validate_params,
249 nullptr); 250 nullptr);
250 251
251 ArrayType<bool> array2; 252 ArrayType<bool> array2;
252 mojo::internal::Deserialize<Array<bool>>(data, &array2, nullptr); 253 mojo::internal::Deserialize<Array<bool>>(data, &array2, nullptr);
253 254
254 EXPECT_EQ(10U, array2.size()); 255 EXPECT_EQ(10U, array2.size());
255 for (size_t i = 0; i < array2.size(); ++i) 256 for (size_t i = 0; i < array2.size(); ++i)
256 EXPECT_EQ(i % 2 ? true : false, array2[i]); 257 EXPECT_EQ(i % 2 ? true : false, array2[i]);
257 } 258 }
258 259
259 static void Serialization_ArrayOfString() { 260 static void Serialization_ArrayOfString() {
260 ArrayType<String> array(10); 261 ArrayType<String> array(10);
261 for (size_t i = 0; i < array.size(); ++i) { 262 for (size_t i = 0; i < array.size(); ++i) {
262 char c = 'A' + static_cast<char>(i); 263 char c = 'A' + static_cast<char>(i);
263 array[i] = String(&c, 1); 264 array[i] = String(&c, 1);
264 } 265 }
265 266
266 size_t size = 267 size_t size =
267 mojo::internal::PrepareToSerialize<Array<String>>(array, nullptr); 268 mojo::internal::PrepareToSerialize<Array<String>>(array, nullptr);
268 EXPECT_EQ(8U + // array header 269 EXPECT_EQ(8U + // array header
269 10 * 8U + // array payload (10 pointers) 270 10 * 8U + // array payload (10 pointers)
270 10 * (8U + // string header 271 10 * (8U + // string header
271 8U), // string length of 1 padded to 8 272 8U), // string length of 1 padded to 8
272 size); 273 size);
273 274
274 mojo::internal::FixedBufferForTesting buf(size); 275 mojo::internal::FixedBufferForTesting buf(size);
275 mojo::internal::Array_Data<mojo::internal::String_Data*>* data; 276 mojo::internal::Array_Data<mojo::internal::String_Data*>* data;
276 mojo::internal::ArrayValidateParams validate_params( 277 mojo::internal::ContainerValidateParams validate_params(
277 0, false, new mojo::internal::ArrayValidateParams(0, false, nullptr)); 278 0, false,
279 new mojo::internal::ContainerValidateParams(0, false, nullptr));
278 mojo::internal::Serialize<Array<String>>(array, &buf, &data, 280 mojo::internal::Serialize<Array<String>>(array, &buf, &data,
279 &validate_params, nullptr); 281 &validate_params, nullptr);
280 282
281 ArrayType<String> array2; 283 ArrayType<String> array2;
282 mojo::internal::Deserialize<Array<String>>(data, &array2, nullptr); 284 mojo::internal::Deserialize<Array<String>>(data, &array2, nullptr);
283 285
284 EXPECT_EQ(10U, array2.size()); 286 EXPECT_EQ(10U, array2.size());
285 for (size_t i = 0; i < array2.size(); ++i) { 287 for (size_t i = 0; i < array2.size(); ++i) {
286 char c = 'A' + static_cast<char>(i); 288 char c = 'A' + static_cast<char>(i);
287 EXPECT_EQ(String(&c, 1), array2[i]); 289 EXPECT_EQ(String(&c, 1), array2[i]);
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 } 395 }
394 }; 396 };
395 397
396 #define ARRAY_COMMON_TEST(ArrayType, test_name) \ 398 #define ARRAY_COMMON_TEST(ArrayType, test_name) \
397 TEST_F(ArrayType##Test, test_name) { \ 399 TEST_F(ArrayType##Test, test_name) { \
398 ArrayCommonTest<ArrayType>::test_name(); \ 400 ArrayCommonTest<ArrayType>::test_name(); \
399 } 401 }
400 402
401 } // namespace test 403 } // namespace test
402 } // namespace mojo 404 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/public/cpp/bindings/lib/validation_util.h ('k') | mojo/public/cpp/bindings/tests/map_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698