diff options
-rw-r--r-- | coverage/annotate.py | 5 | ||||
-rw-r--r-- | tests/farm/annotate/gold_encogings/utf8.py,cover | 4 | ||||
-rw-r--r-- | tests/farm/annotate/run_encodings.py | 7 | ||||
-rw-r--r-- | tests/farm/annotate/src/utf8.py | 4 |
4 files changed, 20 insertions, 0 deletions
diff --git a/coverage/annotate.py b/coverage/annotate.py index b77df4ec..6e68d4a3 100644 --- a/coverage/annotate.py +++ b/coverage/annotate.py @@ -2,6 +2,7 @@ import os, re +from coverage import env from coverage.report import Reporter class AnnotateReporter(Reporter): @@ -89,4 +90,8 @@ class AnnotateReporter(Reporter): dest.write('> ') else: dest.write('! ') + + if env.PY2: + line = line.encode('utf-8') + dest.write(line) diff --git a/tests/farm/annotate/gold_encogings/utf8.py,cover b/tests/farm/annotate/gold_encogings/utf8.py,cover new file mode 100644 index 00000000..6dbf7e0d --- /dev/null +++ b/tests/farm/annotate/gold_encogings/utf8.py,cover @@ -0,0 +1,4 @@ + # -*- coding: utf-8 -*- + # This comment has an accent: é + +> print("spam eggs") diff --git a/tests/farm/annotate/run_encodings.py b/tests/farm/annotate/run_encodings.py new file mode 100644 index 00000000..eb1a3a9a --- /dev/null +++ b/tests/farm/annotate/run_encodings.py @@ -0,0 +1,7 @@ +copy("src", "out") +run(""" + coverage run utf8.py + coverage annotate utf8.py + """, rundir="out") +compare("out", "gold_encodings", "*,cover") +clean("out") diff --git a/tests/farm/annotate/src/utf8.py b/tests/farm/annotate/src/utf8.py new file mode 100644 index 00000000..27342d87 --- /dev/null +++ b/tests/farm/annotate/src/utf8.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# This comment has an accent: é + +print("spam eggs") |