summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_parser.py')
-rw-r--r--Lib/test/test_parser.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index d1ace67..771fe9d 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -411,10 +411,32 @@ class IllegalSyntaxTestCase(unittest.TestCase):
(0, ''))
self.check_bad_tree(tree, "malformed global ast")
+
+class CompileTestCase(unittest.TestCase):
+
+ # These tests are very minimal. :-(
+
+ def test_compile_expr(self):
+ st = parser.expr('2 + 3')
+ code = parser.compilest(st)
+ self.assertEquals(eval(code), 5)
+
+ def test_compile_suite(self):
+ st = parser.suite('x = 2; y = x + 3')
+ code = parser.compilest(st)
+ globs = {}
+ exec code in globs
+ self.assertEquals(globs['y'], 5)
+
+ def test_compile_error(self):
+ st = parser.suite('1 = 3 + 4')
+ self.assertRaises(SyntaxError, parser.compilest, st)
+
def test_main():
test_support.run_unittest(
RoundtripLegalSyntaxTestCase,
- IllegalSyntaxTestCase
+ IllegalSyntaxTestCase,
+ CompileTestCase,
)