summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPatricio Inzaghi <51960393+pinzaghi@users.noreply.github.com>2020-12-09 14:51:24 +0100
committerGitHub <noreply@github.com>2020-12-09 05:51:24 -0800
commit47043dd3cc82fd53ce4de3e3f12f05ffff0eb963 (patch)
treecf48e12ebd7b39eb46496228efa7bb3aa59ecc93 /tests
parentef4998692c753a635eba58975ae80834dfc14538 (diff)
downloadpycparser-47043dd3cc82fd53ce4de3e3f12f05ffff0eb963.tar.gz
Extra line breaks when c_ast.If are chained (#401)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_c_generator.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_c_generator.py b/tests/test_c_generator.py
index a7e52e8..3c724a0 100644
--- a/tests/test_c_generator.py
+++ b/tests/test_c_generator.py
@@ -423,5 +423,21 @@ class TestCasttoC(unittest.TestCase):
self.assertEqual(generator.visit(c_ast.Cast(void_type, test_fun)),
'(void) test_fun()')
+ def test_nested_else_if_line_breaks(self):
+ generator = c_generator.CGenerator()
+ test_ast1 = c_ast.If(None, None, None)
+ test_ast2 = c_ast.If(None, None, c_ast.If(None, None, None))
+ test_ast3 = c_ast.If(None, None, c_ast.If(None, None, c_ast.If(None, None, None)))
+ test_ast4 = c_ast.If(None, c_ast.Compound([]), c_ast.If(None, c_ast.Compound([]), c_ast.If(None, c_ast.Compound([]), None)))
+
+ self.assertEqual(generator.visit(test_ast1),
+ 'if ()\n \n')
+ self.assertEqual(generator.visit(test_ast2),
+ 'if ()\n \nelse\n if ()\n \n')
+ self.assertEqual(generator.visit(test_ast3),
+ 'if ()\n \nelse\n if ()\n \nelse\n if ()\n \n')
+ self.assertEqual(generator.visit(test_ast4),
+ 'if ()\n{\n}\nelse\n if ()\n{\n}\nelse\n if ()\n{\n}\n')
+
if __name__ == "__main__":
unittest.main()