| 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 |