summaryrefslogtreecommitdiff
path: root/tests/test_c_parser.py
diff options
context:
space:
mode:
authorManuel Jacob <me@manueljacob.de>2017-01-15 18:54:16 +0100
committerEli Bendersky <eliben@users.noreply.github.com>2017-01-15 09:54:16 -0800
commit44137334bac69df72c6378fa84931006179d8bdf (patch)
tree1e41b2b0c5b38a44b4933b40a46b24780f4f26a9 /tests/test_c_parser.py
parent7c4d5c4a400365f9e61a9aae14af6e128ab1e4dc (diff)
downloadpycparser-44137334bac69df72c6378fa84931006179d8bdf.tar.gz
Add argument to CParser.__init__ for overriding the yacc start symbol. (#159)
* Add argument to CParser.__init__ for overriding the yacc start symbol. * Add a test for the new 'start' argument of CParser.__init__. * Add documentation for the new 'start' argument of CParser.__init__.
Diffstat (limited to 'tests/test_c_parser.py')
-rwxr-xr-xtests/test_c_parser.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/test_c_parser.py b/tests/test_c_parser.py
index 2bd43d1..826f875 100755
--- a/tests/test_c_parser.py
+++ b/tests/test_c_parser.py
@@ -1898,6 +1898,15 @@ class TestCParser_typenames(TestCParser_base):
self.assertRaises(ParseError, self.parse, s2)
+class TestCParser_extra(unittest.TestCase):
+ def test_start_symbol(self):
+ parser = c_parser.CParser(lex_optimize=False, yacc_debug=True,
+ yacc_optimize=False, yacctab='yacctab',
+ start='expression')
+ ast = parser.parse("1 + 2")
+ assert isinstance(ast, BinaryOp)
+
+
if __name__ == '__main__':
#~ suite = unittest.TestLoader().loadTestsFromNames(
#~ ['test_c_parser.TestCParser_fundamentals.test_typedef'])