OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 from struct_generator import GenerateField | |
7 from struct_generator import GenerateStruct | |
8 import unittest | |
9 | |
10 class StructGeneratorTest(unittest.TestCase): | |
11 def testGenerateIntField(self): | |
12 self.assertEquals('const int foo_bar', | |
13 GenerateField({'type': 'int', 'field': 'foo_bar'})) | |
14 | |
15 def testGenerateStringField(self): | |
16 self.assertEquals('const char* const bar_foo', | |
17 GenerateField({'type': 'string', 'field': 'bar_foo'})) | |
18 | |
19 def testGenerateString16Field(self): | |
20 self.assertEquals('const wchar_t* const foo_bar', | |
21 GenerateField({'type': 'string16', 'field': 'foo_bar'})) | |
22 | |
23 def testGenerateEnumField(self): | |
24 self.assertEquals('const MyEnumType foo_foo', | |
25 GenerateField({'type': 'enum', | |
26 'field': 'foo_foo', | |
27 'ctype': 'MyEnumType'})) | |
28 | |
29 def testGenerateArrayField(self): | |
30 self.assertEquals('const int * bar_bar;\n' | |
31 ' const size_t bar_bar_size', | |
32 GenerateField({'type': 'array', | |
33 'field': 'bar_bar', | |
34 'contents': {'type': 'int'}})) | |
35 | |
36 def testGenerateStruct(self): | |
37 schema = [ | |
38 {'type': 'int', 'field': 'foo_bar'}, | |
39 {'type': 'string', 'field': 'bar_foo', 'default': 'dummy'}, | |
40 { | |
41 'type': 'array', | |
42 'field': 'bar_bar', | |
43 'contents': { | |
44 'type': 'enum', | |
45 'ctype': 'MyEnumType' | |
46 } | |
47 } | |
48 ] | |
49 struct = ('struct MyTypeName {\n' | |
50 ' const int foo_bar;\n' | |
51 ' const char* const bar_foo;\n' | |
52 ' const MyEnumType * bar_bar;\n' | |
53 ' const size_t bar_bar_size;\n' | |
54 '};\n') | |
55 self.assertEquals(struct, GenerateStruct('MyTypeName', schema)) | |
56 | |
57 if __name__ == '__main__': | |
58 unittest.main() | |
OLD | NEW |