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

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

Powered by Google App Engine
This is Rietveld 408576698