diff options
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 3d5726de..7a9ff066 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 }) |