diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-05-19 07:12:16 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-05-19 07:12:16 -0400 |
commit | fdfdb2432dcf9e544e7c6a70421e74e5c56adf45 (patch) | |
tree | a5ecd5b5e0243937fe4d3ea135b4f2dd27592620 /coverage/annotate.py | |
parent | f78c24d58cc45d79b3a9ea0b9b1ee117511a687e (diff) | |
download | python-coveragepy-git-fdfdb2432dcf9e544e7c6a70421e74e5c56adf45.tar.gz |
Write all annotated files as utf8
Diffstat (limited to 'coverage/annotate.py')
-rw-r--r-- | coverage/annotate.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/coverage/annotate.py b/coverage/annotate.py index 6e68d4a3..dd92e6fa 100644 --- a/coverage/annotate.py +++ b/coverage/annotate.py @@ -1,6 +1,8 @@ """Source file annotation for Coverage.""" -import os, re +import io +import os +import re from coverage import env from coverage.report import Reporter @@ -60,7 +62,7 @@ class AnnotateReporter(Reporter): else: dest_file = fr.filename + ",cover" - with open(dest_file, 'w') as dest: + with io.open(dest_file, 'w', encoding='utf8') as dest: i = 0 j = 0 covered = True @@ -73,25 +75,22 @@ class AnnotateReporter(Reporter): if i < len(statements) and statements[i] == lineno: covered = j >= len(missing) or missing[j] > lineno if self.blank_re.match(line): - dest.write(' ') + dest.write(u' ') elif self.else_re.match(line): # Special logic for lines containing only 'else:'. if i >= len(statements) and j >= len(missing): - dest.write('! ') + dest.write(u'! ') elif i >= len(statements) or j >= len(missing): - dest.write('> ') + dest.write(u'> ') elif statements[i] == missing[j]: - dest.write('! ') + dest.write(u'! ') else: - dest.write('> ') + dest.write(u'> ') elif lineno in excluded: - dest.write('- ') + dest.write(u'- ') elif covered: - dest.write('> ') + dest.write(u'> ') else: - dest.write('! ') - - if env.PY2: - line = line.encode('utf-8') + dest.write(u'! ') dest.write(line) |