diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-21 13:10:10 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-11-21 13:10:10 -0500 |
commit | a61da141c1fa3d300f56956eb03db1de296f0680 (patch) | |
tree | 1136e2575859f150ebc971019284818bdd650411 /test/test_parser.py | |
parent | 28e24781321caf223fadd6ac3a11d15edd509fa9 (diff) | |
download | python-coveragepy-a61da141c1fa3d300f56956eb03db1de296f0680.tar.gz |
Don't count branches to excluded code. Tests don't pass yet.
Diffstat (limited to 'test/test_parser.py')
-rw-r--r-- | test/test_parser.py | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/test/test_parser.py b/test/test_parser.py index 3d5726d..7a9ff06 100644 --- a/test/test_parser.py +++ b/test/test_parser.py @@ -16,7 +16,7 @@ class ParserTest(CoverageTest): def parse_source(self, text): """Parse `text` as source, and return the `CodeParser` used.""" text = textwrap.dedent(text) - cp = CodeParser(text) + cp = CodeParser(text, exclude="nocover") cp.parse_source() return cp @@ -52,4 +52,31 @@ class ParserTest(CoverageTest): self.assertEqual(cp.exit_counts(), { 1: 1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1 }) -
\ No newline at end of file + + def test_missing_branch_to_excluded_code(self): + cp = self.parse_source("""\ + if fooey: + a = 2 + else: # nocover + a = 4 + b = 5 + """) + self.assertEqual(cp.exit_counts(), { 1:1, 2:1, 5:1 }) + cp = self.parse_source("""\ + def foo(): + if fooey: + a = 3 + else: + a = 5 + b = 6 + """) + self.assertEqual(cp.exit_counts(), { 1:1, 2:2, 3:1, 5:1, 6:1 }) + cp = self.parse_source("""\ + def foo(): + if fooey: + a = 3 + else: # nocover + a = 5 + b = 6 + """) + self.assertEqual(cp.exit_counts(), { 1:13, 2:1, 6:1 }) |