| OLD | NEW | 
|---|
| 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 module mojo.test; | 5 module mojo.test; | 
| 6 | 6 | 
| 7 // TODO(yzshen): Rename *WithTraits* types to something more readable. | 7 // TODO(yzshen): Rename *WithTraits* types to something more readable. | 
| 8 | 8 | 
| 9 struct NestedStructWithTraits { | 9 struct NestedStructWithTraits { | 
| 10   int32 value; | 10   int32 value; | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 26   NestedStructWithTraits f_struct; | 26   NestedStructWithTraits f_struct; | 
| 27   array<NestedStructWithTraits> f_struct_array; | 27   array<NestedStructWithTraits> f_struct_array; | 
| 28   map<string, NestedStructWithTraits> f_struct_map; | 28   map<string, NestedStructWithTraits> f_struct_map; | 
| 29 }; | 29 }; | 
| 30 | 30 | 
| 31 // Test that this container can be cloned. | 31 // Test that this container can be cloned. | 
| 32 struct StructWithTraitsContainer { | 32 struct StructWithTraitsContainer { | 
| 33   StructWithTraits f_struct; | 33   StructWithTraits f_struct; | 
| 34 }; | 34 }; | 
| 35 | 35 | 
| 36 struct PassByValueStructWithTraits { | 36 // Maps to a pass-by-value trivial struct. | 
|  | 37 struct TrivialStructWithTraits { | 
|  | 38   int32 value; | 
|  | 39 }; | 
|  | 40 | 
|  | 41 // Maps to a move-only struct. | 
|  | 42 struct MoveOnlyStructWithTraits { | 
| 37   handle f_handle; | 43   handle f_handle; | 
| 38 }; | 44 }; | 
| 39 | 45 | 
| 40 // The custom type for PassByValueStructWithTraits is not clonable. Test that | 46 // The custom type for MoveOnlyStructWithTraits is not clonable. Test that | 
| 41 // this container can compile as long as Clone() is not used. | 47 // this container can compile as long as Clone() is not used. | 
| 42 struct PassByValueStructWithTraitsContainer { | 48 struct MoveOnlyStructWithTraitsContainer { | 
| 43   PassByValueStructWithTraits f_struct; | 49   MoveOnlyStructWithTraits f_struct; | 
| 44 }; | 50 }; | 
| 45 | 51 | 
| 46 struct StructWithTraitsForUniquePtrTest { | 52 struct StructWithTraitsForUniquePtrTest { | 
| 47   int32 f_int32; | 53   int32 f_int32; | 
| 48 }; | 54 }; | 
| 49 | 55 | 
| 50 interface TraitsTestService { | 56 interface TraitsTestService { | 
| 51   EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed); | 57   EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed); | 
| 52 | 58 | 
| 53   EchoPassByValueStructWithTraits(PassByValueStructWithTraits s) => | 59   EchoTrivialStructWithTraits(TrivialStructWithTraits s) => | 
| 54       (PassByValueStructWithTraits passed); | 60       (TrivialStructWithTraits passed); | 
|  | 61 | 
|  | 62   EchoMoveOnlyStructWithTraits(MoveOnlyStructWithTraits s) => | 
|  | 63       (MoveOnlyStructWithTraits passed); | 
| 55 | 64 | 
| 56   EchoEnumWithTraits(EnumWithTraits e) => (EnumWithTraits passed); | 65   EchoEnumWithTraits(EnumWithTraits e) => (EnumWithTraits passed); | 
| 57 | 66 | 
| 58   EchoStructWithTraitsForUniquePtrTest(StructWithTraitsForUniquePtrTest e) => ( | 67   EchoStructWithTraitsForUniquePtrTest(StructWithTraitsForUniquePtrTest e) => ( | 
| 59       StructWithTraitsForUniquePtrTest passed); | 68       StructWithTraitsForUniquePtrTest passed); | 
| 60 }; | 69 }; | 
| OLD | NEW | 
|---|