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 struct NestedStructWithTraits { | 7 struct NestedStructWithTraits { |
8 int32 value; | 8 int32 value; |
9 }; | 9 }; |
10 | 10 |
11 struct StructWithTraits { | 11 struct StructWithTraits { |
12 bool f_bool; | 12 bool f_bool; |
13 uint32 f_uint32; | 13 uint32 f_uint32; |
14 uint64 f_uint64; | 14 uint64 f_uint64; |
15 string f_string; | 15 string f_string; |
16 string f_string2; | 16 string f_string2; |
17 array<string> f_string_array; | 17 array<string> f_string_array; |
18 NestedStructWithTraits f_struct; | 18 NestedStructWithTraits f_struct; |
19 array<NestedStructWithTraits> f_struct_array; | 19 array<NestedStructWithTraits> f_struct_array; |
20 map<string, NestedStructWithTraits> f_struct_map; | 20 map<string, NestedStructWithTraits> f_struct_map; |
21 }; | 21 }; |
22 | 22 |
| 23 // Test that this container can be cloned. |
23 struct StructWithTraitsContainer { | 24 struct StructWithTraitsContainer { |
24 StructWithTraits f_struct; | 25 StructWithTraits f_struct; |
25 }; | 26 }; |
26 | 27 |
27 struct PassByValueStructWithTraits { | 28 struct PassByValueStructWithTraits { |
28 handle f_handle; | 29 handle f_handle; |
29 }; | 30 }; |
30 | 31 |
| 32 // The custom type for PassByValueStructWithTraits is not clonable. Test that |
| 33 // this container can compile as long as Clone() is not used. |
| 34 struct PassByValueStructWithTraitsContainer { |
| 35 PassByValueStructWithTraits f_struct; |
| 36 }; |
| 37 |
31 interface TraitsTestService { | 38 interface TraitsTestService { |
32 EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed); | 39 EchoStructWithTraits(StructWithTraits s) => (StructWithTraits passed); |
33 | 40 |
34 EchoPassByValueStructWithTraits(PassByValueStructWithTraits s) => | 41 EchoPassByValueStructWithTraits(PassByValueStructWithTraits s) => |
35 (PassByValueStructWithTraits passed); | 42 (PassByValueStructWithTraits passed); |
36 }; | 43 }; |
OLD | NEW |