summaryrefslogtreecommitdiff
path: root/tests/test_parser.py
diff options
context:
space:
mode:
authorMickie Betz <mbetz08@cmc.edu>2015-04-14 16:53:30 -0400
committerMickie Betz <mbetz08@cmc.edu>2015-04-14 16:53:30 -0400
commit90189c05e6e8716b6cc6f78cf3e1e98f9fa045c1 (patch)
tree6374ec819976f1bd6bee55c223e301022ceee9ab /tests/test_parser.py
parente0ad5837194a4a8cd1a2ddf392c5b0db6a80e705 (diff)
downloadpython-coveragepy-git-90189c05e6e8716b6cc6f78cf3e1e98f9fa045c1.tar.gz
Including generator yield statements when doing end of code calculations issue 324
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r--tests/test_parser.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 244d4c70..a39820e6 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -34,6 +34,19 @@ class PythonParserTest(CoverageTest):
2:1, 3:1, 4:2, 5:1, 7:1, 9:1, 10:1
})
+ def test_generator_exit_counts(self):
+ parser = self.parse_source("""\
+ # generators yield lines should only have one exit count
+ def gen(input):
+ for n in inp:
+ yield (i * 2 for i in range(n))
+
+ list(gen([1,2,3]))
+ """)
+ self.assertEqual(parser.exit_counts(), {
+ 2:1, 3:2, 4:1, 6:1
+ })
+
def test_try_except(self):
parser = self.parse_source("""\
try: