diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2010-06-27 18:19:13 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2010-06-27 18:19:13 -0400 |
commit | 555ecf22280e6849e36f680494157465c6c847e2 (patch) | |
tree | 9ec2a21ad49b1d370dd393777d7639f86f1afaf8 /coverage/parser.py | |
parent | 4e6f9294d025b0b3102f27a217f6c6dac5d110a4 (diff) | |
download | python-coveragepy-git-555ecf22280e6849e36f680494157465c6c847e2.tar.gz |
Empty python files (like __init__.py) are shown as having zero statements, not one. Fixes #1.
Diffstat (limited to 'coverage/parser.py')
-rw-r--r-- | coverage/parser.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/coverage/parser.py b/coverage/parser.py index d883df46..8285d433 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -85,6 +85,7 @@ class CodeParser(object): excluding = False prev_toktype = token.INDENT first_line = None + empty = True tokgen = tokenize.generate_tokens(StringIO(self.text).readline) for toktype, ttext, (slineno, _), (elineno, _), ltext in tokgen: @@ -128,6 +129,7 @@ class CodeParser(object): if ttext.strip() and toktype != tokenize.COMMENT: # A non-whitespace token. + empty = False if first_line is None: # The token is not whitespace, and is the first in a # statement. @@ -141,7 +143,8 @@ class CodeParser(object): prev_toktype = toktype # Find the starts of the executable statements. - self.statement_starts.update(self.byte_parser._find_statements()) + if not empty: + self.statement_starts.update(self.byte_parser._find_statements()) def first_line(self, line): """Return the first line number of the statement including `line`.""" |