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

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

Issue 1535943002: Convert Pass()→std::move() in //mojo/public/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Regenerate correctly Created 4 years, 12 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 #include <string.h> 7 #include <string.h>
8 #include <utility>
8 9
9 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h" 10 #include "mojo/public/cpp/bindings/lib/fixed_buffer.h"
10 #include "mojo/public/cpp/system/message_pipe.h" 11 #include "mojo/public/cpp/system/message_pipe.h"
11 #include "mojo/public/interfaces/bindings/tests/test_structs.mojom.h" 12 #include "mojo/public/interfaces/bindings/tests/test_structs.mojom.h"
12 #include "testing/gtest/include/gtest/gtest.h" 13 #include "testing/gtest/include/gtest/gtest.h"
13 14
14 namespace mojo { 15 namespace mojo {
15 namespace test { 16 namespace test {
16 namespace { 17 namespace {
17 18
18 RectPtr MakeRect(int32_t factor = 1) { 19 RectPtr MakeRect(int32_t factor = 1) {
19 RectPtr rect(Rect::New()); 20 RectPtr rect(Rect::New());
20 rect->x = 1 * factor; 21 rect->x = 1 * factor;
21 rect->y = 2 * factor; 22 rect->y = 2 * factor;
22 rect->width = 10 * factor; 23 rect->width = 10 * factor;
23 rect->height = 20 * factor; 24 rect->height = 20 * factor;
24 return rect.Pass(); 25 return rect;
25 } 26 }
26 27
27 void CheckRect(const Rect& rect, int32_t factor = 1) { 28 void CheckRect(const Rect& rect, int32_t factor = 1) {
28 EXPECT_EQ(1 * factor, rect.x); 29 EXPECT_EQ(1 * factor, rect.x);
29 EXPECT_EQ(2 * factor, rect.y); 30 EXPECT_EQ(2 * factor, rect.y);
30 EXPECT_EQ(10 * factor, rect.width); 31 EXPECT_EQ(10 * factor, rect.width);
31 EXPECT_EQ(20 * factor, rect.height); 32 EXPECT_EQ(20 * factor, rect.height);
32 } 33 }
33 34
34 MultiVersionStructPtr MakeMultiVersionStruct() { 35 MultiVersionStructPtr MakeMultiVersionStruct() {
35 MultiVersionStructPtr output(MultiVersionStruct::New()); 36 MultiVersionStructPtr output(MultiVersionStruct::New());
36 output->f_int32 = 123; 37 output->f_int32 = 123;
37 output->f_rect = MakeRect(5); 38 output->f_rect = MakeRect(5);
38 output->f_string = "hello"; 39 output->f_string = "hello";
39 output->f_array = Array<int8_t>(3); 40 output->f_array = Array<int8_t>(3);
40 output->f_array[0] = 10; 41 output->f_array[0] = 10;
41 output->f_array[1] = 9; 42 output->f_array[1] = 9;
42 output->f_array[2] = 8; 43 output->f_array[2] = 8;
43 MessagePipe pipe; 44 MessagePipe pipe;
44 output->f_message_pipe = pipe.handle0.Pass(); 45 output->f_message_pipe = std::move(pipe.handle0);
45 output->f_int16 = 42; 46 output->f_int16 = 42;
46 47
47 return output.Pass(); 48 return output;
48 } 49 }
49 50
50 template <typename U, typename T> 51 template <typename U, typename T>
51 U SerializeAndDeserialize(T input) { 52 U SerializeAndDeserialize(T input) {
52 typedef typename mojo::internal::WrapperTraits<T>::DataType InputDataType; 53 typedef typename mojo::internal::WrapperTraits<T>::DataType InputDataType;
53 typedef typename mojo::internal::WrapperTraits<U>::DataType OutputDataType; 54 typedef typename mojo::internal::WrapperTraits<U>::DataType OutputDataType;
54 55
55 size_t size = GetSerializedSize_(input); 56 size_t size = GetSerializedSize_(input);
56 mojo::internal::FixedBufferForTesting buf(size + 32); 57 mojo::internal::FixedBufferForTesting buf(size + 32);
57 InputDataType data; 58 InputDataType data;
58 Serialize_(input.Pass(), &buf, &data); 59 Serialize_(std::move(input), &buf, &data);
59 60
60 std::vector<Handle> handles; 61 std::vector<Handle> handles;
61 data->EncodePointersAndHandles(&handles); 62 data->EncodePointersAndHandles(&handles);
62 63
63 // Set the subsequent area to a special value, so that we can find out if we 64 // Set the subsequent area to a special value, so that we can find out if we
64 // mistakenly access the area. 65 // mistakenly access the area.
65 void* subsequent_area = buf.Allocate(32); 66 void* subsequent_area = buf.Allocate(32);
66 memset(subsequent_area, 0xAA, 32); 67 memset(subsequent_area, 0xAA, 32);
67 68
68 OutputDataType output_data = reinterpret_cast<OutputDataType>(data); 69 OutputDataType output_data = reinterpret_cast<OutputDataType>(data);
69 output_data->DecodePointersAndHandles(&handles); 70 output_data->DecodePointersAndHandles(&handles);
70 71
71 U output; 72 U output;
72 Deserialize_(output_data, &output, nullptr); 73 Deserialize_(output_data, &output, nullptr);
73 return output.Pass(); 74 return std::move(output);
74 } 75 }
75 76
76 using StructTest = testing::Test; 77 using StructTest = testing::Test;
77 78
78 } // namespace 79 } // namespace
79 80
80 TEST_F(StructTest, Rect) { 81 TEST_F(StructTest, Rect) {
81 RectPtr rect; 82 RectPtr rect;
82 EXPECT_TRUE(rect.is_null()); 83 EXPECT_TRUE(rect.is_null());
83 EXPECT_TRUE(!rect); 84 EXPECT_TRUE(!rect);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 132
132 // Serialization test of a struct with no pointer or handle members. 133 // Serialization test of a struct with no pointer or handle members.
133 TEST_F(StructTest, Serialization_Basic) { 134 TEST_F(StructTest, Serialization_Basic) {
134 RectPtr rect(MakeRect()); 135 RectPtr rect(MakeRect());
135 136
136 size_t size = GetSerializedSize_(rect); 137 size_t size = GetSerializedSize_(rect);
137 EXPECT_EQ(8U + 16U, size); 138 EXPECT_EQ(8U + 16U, size);
138 139
139 mojo::internal::FixedBufferForTesting buf(size); 140 mojo::internal::FixedBufferForTesting buf(size);
140 internal::Rect_Data* data; 141 internal::Rect_Data* data;
141 Serialize_(rect.Pass(), &buf, &data); 142 Serialize_(std::move(rect), &buf, &data);
142 143
143 RectPtr rect2; 144 RectPtr rect2;
144 Deserialize_(data, &rect2, nullptr); 145 Deserialize_(data, &rect2, nullptr);
145 146
146 CheckRect(*rect2); 147 CheckRect(*rect2);
147 } 148 }
148 149
149 // Construction of a struct with struct pointers from null. 150 // Construction of a struct with struct pointers from null.
150 TEST_F(StructTest, Construction_StructPointers) { 151 TEST_F(StructTest, Construction_StructPointers) {
151 RectPairPtr pair; 152 RectPairPtr pair;
(...skipping 12 matching lines...) Expand all
164 TEST_F(StructTest, Serialization_StructPointers) { 165 TEST_F(StructTest, Serialization_StructPointers) {
165 RectPairPtr pair(RectPair::New()); 166 RectPairPtr pair(RectPair::New());
166 pair->first = MakeRect(); 167 pair->first = MakeRect();
167 pair->second = MakeRect(); 168 pair->second = MakeRect();
168 169
169 size_t size = GetSerializedSize_(pair); 170 size_t size = GetSerializedSize_(pair);
170 EXPECT_EQ(8U + 16U + 2 * (8U + 16U), size); 171 EXPECT_EQ(8U + 16U + 2 * (8U + 16U), size);
171 172
172 mojo::internal::FixedBufferForTesting buf(size); 173 mojo::internal::FixedBufferForTesting buf(size);
173 internal::RectPair_Data* data; 174 internal::RectPair_Data* data;
174 Serialize_(pair.Pass(), &buf, &data); 175 Serialize_(std::move(pair), &buf, &data);
175 176
176 RectPairPtr pair2; 177 RectPairPtr pair2;
177 Deserialize_(data, &pair2, nullptr); 178 Deserialize_(data, &pair2, nullptr);
178 179
179 CheckRect(*pair2->first); 180 CheckRect(*pair2->first);
180 CheckRect(*pair2->second); 181 CheckRect(*pair2->second);
181 } 182 }
182 183
183 // Serialization test of a struct with an array member. 184 // Serialization test of a struct with an array member.
184 TEST_F(StructTest, Serialization_ArrayPointers) { 185 TEST_F(StructTest, Serialization_ArrayPointers) {
(...skipping 10 matching lines...) Expand all
195 8U + // name header 196 8U + // name header
196 8U + // name payload (rounded up) 197 8U + // name payload (rounded up)
197 8U + // rects header 198 8U + // rects header
198 4 * 8U + // rects payload (four pointers) 199 4 * 8U + // rects payload (four pointers)
199 4 * (8U + // rect header 200 4 * (8U + // rect header
200 16U), // rect payload (four ints) 201 16U), // rect payload (four ints)
201 size); 202 size);
202 203
203 mojo::internal::FixedBufferForTesting buf(size); 204 mojo::internal::FixedBufferForTesting buf(size);
204 internal::NamedRegion_Data* data; 205 internal::NamedRegion_Data* data;
205 Serialize_(region.Pass(), &buf, &data); 206 Serialize_(std::move(region), &buf, &data);
206 207
207 NamedRegionPtr region2; 208 NamedRegionPtr region2;
208 Deserialize_(data, &region2, nullptr); 209 Deserialize_(data, &region2, nullptr);
209 210
210 EXPECT_EQ(String("region"), region2->name); 211 EXPECT_EQ(String("region"), region2->name);
211 212
212 EXPECT_EQ(4U, region2->rects.size()); 213 EXPECT_EQ(4U, region2->rects.size());
213 for (size_t i = 0; i < region2->rects.size(); ++i) 214 for (size_t i = 0; i < region2->rects.size(); ++i)
214 CheckRect(*region2->rects[i], static_cast<int32_t>(i) + 1); 215 CheckRect(*region2->rects[i], static_cast<int32_t>(i) + 1);
215 } 216 }
216 217
217 // Serialization test of a struct with null array pointers. 218 // Serialization test of a struct with null array pointers.
218 TEST_F(StructTest, Serialization_NullArrayPointers) { 219 TEST_F(StructTest, Serialization_NullArrayPointers) {
219 NamedRegionPtr region(NamedRegion::New()); 220 NamedRegionPtr region(NamedRegion::New());
220 EXPECT_TRUE(region->name.is_null()); 221 EXPECT_TRUE(region->name.is_null());
221 EXPECT_TRUE(region->rects.is_null()); 222 EXPECT_TRUE(region->rects.is_null());
222 223
223 size_t size = GetSerializedSize_(region); 224 size_t size = GetSerializedSize_(region);
224 EXPECT_EQ(8U + // header 225 EXPECT_EQ(8U + // header
225 8U + // name pointer 226 8U + // name pointer
226 8U, // rects pointer 227 8U, // rects pointer
227 size); 228 size);
228 229
229 mojo::internal::FixedBufferForTesting buf(size); 230 mojo::internal::FixedBufferForTesting buf(size);
230 internal::NamedRegion_Data* data; 231 internal::NamedRegion_Data* data;
231 Serialize_(region.Pass(), &buf, &data); 232 Serialize_(std::move(region), &buf, &data);
232 233
233 NamedRegionPtr region2; 234 NamedRegionPtr region2;
234 Deserialize_(data, &region2, nullptr); 235 Deserialize_(data, &region2, nullptr);
235 236
236 EXPECT_TRUE(region2->name.is_null()); 237 EXPECT_TRUE(region2->name.is_null());
237 EXPECT_TRUE(region2->rects.is_null()); 238 EXPECT_TRUE(region2->rects.is_null());
238 } 239 }
239 240
240 // Tests deserializing structs as a newer version. 241 // Tests deserializing structs as a newer version.
241 TEST_F(StructTest, Versioning_OldToNew) { 242 TEST_F(StructTest, Versioning_OldToNew) {
242 { 243 {
243 MultiVersionStructV0Ptr input(MultiVersionStructV0::New()); 244 MultiVersionStructV0Ptr input(MultiVersionStructV0::New());
244 input->f_int32 = 123; 245 input->f_int32 = 123;
245 MultiVersionStructPtr expected_output(MultiVersionStruct::New()); 246 MultiVersionStructPtr expected_output(MultiVersionStruct::New());
246 expected_output->f_int32 = 123; 247 expected_output->f_int32 = 123;
247 248
248 MultiVersionStructPtr output = 249 MultiVersionStructPtr output =
249 SerializeAndDeserialize<MultiVersionStructPtr>(input.Pass()); 250 SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input));
250 EXPECT_TRUE(output); 251 EXPECT_TRUE(output);
251 EXPECT_TRUE(output->Equals(*expected_output)); 252 EXPECT_TRUE(output->Equals(*expected_output));
252 } 253 }
253 254
254 { 255 {
255 MultiVersionStructV1Ptr input(MultiVersionStructV1::New()); 256 MultiVersionStructV1Ptr input(MultiVersionStructV1::New());
256 input->f_int32 = 123; 257 input->f_int32 = 123;
257 input->f_rect = MakeRect(5); 258 input->f_rect = MakeRect(5);
258 MultiVersionStructPtr expected_output(MultiVersionStruct::New()); 259 MultiVersionStructPtr expected_output(MultiVersionStruct::New());
259 expected_output->f_int32 = 123; 260 expected_output->f_int32 = 123;
260 expected_output->f_rect = MakeRect(5); 261 expected_output->f_rect = MakeRect(5);
261 262
262 MultiVersionStructPtr output = 263 MultiVersionStructPtr output =
263 SerializeAndDeserialize<MultiVersionStructPtr>(input.Pass()); 264 SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input));
264 EXPECT_TRUE(output); 265 EXPECT_TRUE(output);
265 EXPECT_TRUE(output->Equals(*expected_output)); 266 EXPECT_TRUE(output->Equals(*expected_output));
266 } 267 }
267 268
268 { 269 {
269 MultiVersionStructV3Ptr input(MultiVersionStructV3::New()); 270 MultiVersionStructV3Ptr input(MultiVersionStructV3::New());
270 input->f_int32 = 123; 271 input->f_int32 = 123;
271 input->f_rect = MakeRect(5); 272 input->f_rect = MakeRect(5);
272 input->f_string = "hello"; 273 input->f_string = "hello";
273 MultiVersionStructPtr expected_output(MultiVersionStruct::New()); 274 MultiVersionStructPtr expected_output(MultiVersionStruct::New());
274 expected_output->f_int32 = 123; 275 expected_output->f_int32 = 123;
275 expected_output->f_rect = MakeRect(5); 276 expected_output->f_rect = MakeRect(5);
276 expected_output->f_string = "hello"; 277 expected_output->f_string = "hello";
277 278
278 MultiVersionStructPtr output = 279 MultiVersionStructPtr output =
279 SerializeAndDeserialize<MultiVersionStructPtr>(input.Pass()); 280 SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input));
280 EXPECT_TRUE(output); 281 EXPECT_TRUE(output);
281 EXPECT_TRUE(output->Equals(*expected_output)); 282 EXPECT_TRUE(output->Equals(*expected_output));
282 } 283 }
283 284
284 { 285 {
285 MultiVersionStructV5Ptr input(MultiVersionStructV5::New()); 286 MultiVersionStructV5Ptr input(MultiVersionStructV5::New());
286 input->f_int32 = 123; 287 input->f_int32 = 123;
287 input->f_rect = MakeRect(5); 288 input->f_rect = MakeRect(5);
288 input->f_string = "hello"; 289 input->f_string = "hello";
289 input->f_array = Array<int8_t>(3); 290 input->f_array = Array<int8_t>(3);
290 input->f_array[0] = 10; 291 input->f_array[0] = 10;
291 input->f_array[1] = 9; 292 input->f_array[1] = 9;
292 input->f_array[2] = 8; 293 input->f_array[2] = 8;
293 MultiVersionStructPtr expected_output(MultiVersionStruct::New()); 294 MultiVersionStructPtr expected_output(MultiVersionStruct::New());
294 expected_output->f_int32 = 123; 295 expected_output->f_int32 = 123;
295 expected_output->f_rect = MakeRect(5); 296 expected_output->f_rect = MakeRect(5);
296 expected_output->f_string = "hello"; 297 expected_output->f_string = "hello";
297 expected_output->f_array = Array<int8_t>(3); 298 expected_output->f_array = Array<int8_t>(3);
298 expected_output->f_array[0] = 10; 299 expected_output->f_array[0] = 10;
299 expected_output->f_array[1] = 9; 300 expected_output->f_array[1] = 9;
300 expected_output->f_array[2] = 8; 301 expected_output->f_array[2] = 8;
301 302
302 MultiVersionStructPtr output = 303 MultiVersionStructPtr output =
303 SerializeAndDeserialize<MultiVersionStructPtr>(input.Pass()); 304 SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input));
304 EXPECT_TRUE(output); 305 EXPECT_TRUE(output);
305 EXPECT_TRUE(output->Equals(*expected_output)); 306 EXPECT_TRUE(output->Equals(*expected_output));
306 } 307 }
307 308
308 { 309 {
309 MultiVersionStructV7Ptr input(MultiVersionStructV7::New()); 310 MultiVersionStructV7Ptr input(MultiVersionStructV7::New());
310 input->f_int32 = 123; 311 input->f_int32 = 123;
311 input->f_rect = MakeRect(5); 312 input->f_rect = MakeRect(5);
312 input->f_string = "hello"; 313 input->f_string = "hello";
313 input->f_array = Array<int8_t>(3); 314 input->f_array = Array<int8_t>(3);
314 input->f_array[0] = 10; 315 input->f_array[0] = 10;
315 input->f_array[1] = 9; 316 input->f_array[1] = 9;
316 input->f_array[2] = 8; 317 input->f_array[2] = 8;
317 MessagePipe pipe; 318 MessagePipe pipe;
318 input->f_message_pipe = pipe.handle0.Pass(); 319 input->f_message_pipe = std::move(pipe.handle0);
319 320
320 MultiVersionStructPtr expected_output(MultiVersionStruct::New()); 321 MultiVersionStructPtr expected_output(MultiVersionStruct::New());
321 expected_output->f_int32 = 123; 322 expected_output->f_int32 = 123;
322 expected_output->f_rect = MakeRect(5); 323 expected_output->f_rect = MakeRect(5);
323 expected_output->f_string = "hello"; 324 expected_output->f_string = "hello";
324 expected_output->f_array = Array<int8_t>(3); 325 expected_output->f_array = Array<int8_t>(3);
325 expected_output->f_array[0] = 10; 326 expected_output->f_array[0] = 10;
326 expected_output->f_array[1] = 9; 327 expected_output->f_array[1] = 9;
327 expected_output->f_array[2] = 8; 328 expected_output->f_array[2] = 8;
328 // Save the raw handle value separately so that we can compare later. 329 // Save the raw handle value separately so that we can compare later.
329 MojoHandle expected_handle = input->f_message_pipe.get().value(); 330 MojoHandle expected_handle = input->f_message_pipe.get().value();
330 331
331 MultiVersionStructPtr output = 332 MultiVersionStructPtr output =
332 SerializeAndDeserialize<MultiVersionStructPtr>(input.Pass()); 333 SerializeAndDeserialize<MultiVersionStructPtr>(std::move(input));
333 EXPECT_TRUE(output); 334 EXPECT_TRUE(output);
334 EXPECT_EQ(expected_handle, output->f_message_pipe.get().value()); 335 EXPECT_EQ(expected_handle, output->f_message_pipe.get().value());
335 output->f_message_pipe.reset(); 336 output->f_message_pipe.reset();
336 EXPECT_TRUE(output->Equals(*expected_output)); 337 EXPECT_TRUE(output->Equals(*expected_output));
337 } 338 }
338 } 339 }
339 340
340 // Tests deserializing structs as an older version. 341 // Tests deserializing structs as an older version.
341 TEST_F(StructTest, Versioning_NewToOld) { 342 TEST_F(StructTest, Versioning_NewToOld) {
342 { 343 {
343 MultiVersionStructPtr input = MakeMultiVersionStruct(); 344 MultiVersionStructPtr input = MakeMultiVersionStruct();
344 MultiVersionStructV7Ptr expected_output(MultiVersionStructV7::New()); 345 MultiVersionStructV7Ptr expected_output(MultiVersionStructV7::New());
345 expected_output->f_int32 = 123; 346 expected_output->f_int32 = 123;
346 expected_output->f_rect = MakeRect(5); 347 expected_output->f_rect = MakeRect(5);
347 expected_output->f_string = "hello"; 348 expected_output->f_string = "hello";
348 expected_output->f_array = Array<int8_t>(3); 349 expected_output->f_array = Array<int8_t>(3);
349 expected_output->f_array[0] = 10; 350 expected_output->f_array[0] = 10;
350 expected_output->f_array[1] = 9; 351 expected_output->f_array[1] = 9;
351 expected_output->f_array[2] = 8; 352 expected_output->f_array[2] = 8;
352 // Save the raw handle value separately so that we can compare later. 353 // Save the raw handle value separately so that we can compare later.
353 MojoHandle expected_handle = input->f_message_pipe.get().value(); 354 MojoHandle expected_handle = input->f_message_pipe.get().value();
354 355
355 MultiVersionStructV7Ptr output = 356 MultiVersionStructV7Ptr output =
356 SerializeAndDeserialize<MultiVersionStructV7Ptr>(input.Pass()); 357 SerializeAndDeserialize<MultiVersionStructV7Ptr>(std::move(input));
357 EXPECT_TRUE(output); 358 EXPECT_TRUE(output);
358 EXPECT_EQ(expected_handle, output->f_message_pipe.get().value()); 359 EXPECT_EQ(expected_handle, output->f_message_pipe.get().value());
359 output->f_message_pipe.reset(); 360 output->f_message_pipe.reset();
360 EXPECT_TRUE(output->Equals(*expected_output)); 361 EXPECT_TRUE(output->Equals(*expected_output));
361 } 362 }
362 363
363 { 364 {
364 MultiVersionStructPtr input = MakeMultiVersionStruct(); 365 MultiVersionStructPtr input = MakeMultiVersionStruct();
365 MultiVersionStructV5Ptr expected_output(MultiVersionStructV5::New()); 366 MultiVersionStructV5Ptr expected_output(MultiVersionStructV5::New());
366 expected_output->f_int32 = 123; 367 expected_output->f_int32 = 123;
367 expected_output->f_rect = MakeRect(5); 368 expected_output->f_rect = MakeRect(5);
368 expected_output->f_string = "hello"; 369 expected_output->f_string = "hello";
369 expected_output->f_array = Array<int8_t>(3); 370 expected_output->f_array = Array<int8_t>(3);
370 expected_output->f_array[0] = 10; 371 expected_output->f_array[0] = 10;
371 expected_output->f_array[1] = 9; 372 expected_output->f_array[1] = 9;
372 expected_output->f_array[2] = 8; 373 expected_output->f_array[2] = 8;
373 374
374 MultiVersionStructV5Ptr output = 375 MultiVersionStructV5Ptr output =
375 SerializeAndDeserialize<MultiVersionStructV5Ptr>(input.Pass()); 376 SerializeAndDeserialize<MultiVersionStructV5Ptr>(std::move(input));
376 EXPECT_TRUE(output); 377 EXPECT_TRUE(output);
377 EXPECT_TRUE(output->Equals(*expected_output)); 378 EXPECT_TRUE(output->Equals(*expected_output));
378 } 379 }
379 380
380 { 381 {
381 MultiVersionStructPtr input = MakeMultiVersionStruct(); 382 MultiVersionStructPtr input = MakeMultiVersionStruct();
382 MultiVersionStructV3Ptr expected_output(MultiVersionStructV3::New()); 383 MultiVersionStructV3Ptr expected_output(MultiVersionStructV3::New());
383 expected_output->f_int32 = 123; 384 expected_output->f_int32 = 123;
384 expected_output->f_rect = MakeRect(5); 385 expected_output->f_rect = MakeRect(5);
385 expected_output->f_string = "hello"; 386 expected_output->f_string = "hello";
386 387
387 MultiVersionStructV3Ptr output = 388 MultiVersionStructV3Ptr output =
388 SerializeAndDeserialize<MultiVersionStructV3Ptr>(input.Pass()); 389 SerializeAndDeserialize<MultiVersionStructV3Ptr>(std::move(input));
389 EXPECT_TRUE(output); 390 EXPECT_TRUE(output);
390 EXPECT_TRUE(output->Equals(*expected_output)); 391 EXPECT_TRUE(output->Equals(*expected_output));
391 } 392 }
392 393
393 { 394 {
394 MultiVersionStructPtr input = MakeMultiVersionStruct(); 395 MultiVersionStructPtr input = MakeMultiVersionStruct();
395 MultiVersionStructV1Ptr expected_output(MultiVersionStructV1::New()); 396 MultiVersionStructV1Ptr expected_output(MultiVersionStructV1::New());
396 expected_output->f_int32 = 123; 397 expected_output->f_int32 = 123;
397 expected_output->f_rect = MakeRect(5); 398 expected_output->f_rect = MakeRect(5);
398 399
399 MultiVersionStructV1Ptr output = 400 MultiVersionStructV1Ptr output =
400 SerializeAndDeserialize<MultiVersionStructV1Ptr>(input.Pass()); 401 SerializeAndDeserialize<MultiVersionStructV1Ptr>(std::move(input));
401 EXPECT_TRUE(output); 402 EXPECT_TRUE(output);
402 EXPECT_TRUE(output->Equals(*expected_output)); 403 EXPECT_TRUE(output->Equals(*expected_output));
403 } 404 }
404 405
405 { 406 {
406 MultiVersionStructPtr input = MakeMultiVersionStruct(); 407 MultiVersionStructPtr input = MakeMultiVersionStruct();
407 MultiVersionStructV0Ptr expected_output(MultiVersionStructV0::New()); 408 MultiVersionStructV0Ptr expected_output(MultiVersionStructV0::New());
408 expected_output->f_int32 = 123; 409 expected_output->f_int32 = 123;
409 410
410 MultiVersionStructV0Ptr output = 411 MultiVersionStructV0Ptr output =
411 SerializeAndDeserialize<MultiVersionStructV0Ptr>(input.Pass()); 412 SerializeAndDeserialize<MultiVersionStructV0Ptr>(std::move(input));
412 EXPECT_TRUE(output); 413 EXPECT_TRUE(output);
413 EXPECT_TRUE(output->Equals(*expected_output)); 414 EXPECT_TRUE(output->Equals(*expected_output));
414 } 415 }
415 } 416 }
416 } // namespace test 417 } // namespace test
417 } // namespace mojo 418 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698