From 7547e850a05d84fbe598e6bd1bd03f09bf524ac6 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Wed, 18 Oct 2017 23:12:26 -0400 Subject: Format enums with one value per line (#216) * Format enums with one value per line Issue #213 --- tests/test_c_generator.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'tests') diff --git a/tests/test_c_generator.py b/tests/test_c_generator.py index 6d72237..43204c1 100644 --- a/tests/test_c_generator.py +++ b/tests/test_c_generator.py @@ -1,4 +1,5 @@ import sys +import textwrap import unittest # Run from the root dir @@ -280,6 +281,37 @@ class TestCtoC(unittest.TestCase): self._assert_ctoc_correct('int i = ++(int){ 1 };') self._assert_ctoc_correct('struct foo_s foo = (struct foo_s){ 1, 2 };') + def test_enum(self): + s = textwrap.dedent(r''' + enum e + { + a = 1, + b = 2, + c = 3 + }; + '''[1:]) + + self._assert_ctoc_correct(s) + + ast = parse_to_ast(s) + generator = c_generator.CGenerator() + assert generator.visit(ast) == s + + def test_enum_typedef(self): + self._assert_ctoc_correct('typedef enum EnumName EnumTypedefName;') + + def test_generate_struct_union_enum_exception(self): + generator = c_generator.CGenerator() + self.assertRaises( + AssertionError, + generator._generate_struct_union_enum, + n=c_ast.Struct( + name='TestStruct', + decls=[], + ), + name='', + ) + if __name__ == "__main__": unittest.main() -- cgit v1.2.1