summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-11-05 21:29:56 +0000
committerBenjamin Peterson <benjamin@python.org>2009-11-05 21:29:56 +0000
commit9a570341cef5707e51f08a73afe63d2d6e0732fa (patch)
tree2634eda476e3963f759e9b773eb18206cae0733b
parent99c160b559dc6c510e2e9f713191c3c80e26c6f2 (diff)
downloadcpython-git-9a570341cef5707e51f08a73afe63d2d6e0732fa.tar.gz
Merged revisions 76125 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r76125 | benjamin.peterson | 2009-11-05 15:26:55 -0600 (Thu, 05 Nov 2009) | 1 line handle newline issues better for comparing files ........
-rw-r--r--Lib/lib2to3/tests/test_parser.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/lib2to3/tests/test_parser.py
index ebde848e8f..08b916164b 100644
--- a/Lib/lib2to3/tests/test_parser.py
+++ b/Lib/lib2to3/tests/test_parser.py
@@ -12,6 +12,7 @@ from .support import driver, test_dir
# Python imports
import os
+import io
# Local imports
from lib2to3.pgen2 import tokenize
@@ -149,15 +150,13 @@ class TestParserIdempotency(support.TestCase):
for filepath in support.all_project_files():
with open(filepath, "rb") as fp:
encoding = tokenize.detect_encoding(fp.readline)[0]
- fp.seek(0)
+ self.assertTrue(encoding is not None,
+ "can't detect encoding for %s" % filepath)
+ with io.open(filepath, "r", encoding=encoding) as fp:
source = fp.read()
- if encoding:
- source = source.decode(encoding)
tree = driver.parse_string(source)
new = unicode(tree)
- if encoding:
- new = new.encode(encoding)
- if diff(filepath, new):
+ if diff(filepath, new, encoding):
self.fail("Idempotency failed: %s" % filepath)
def test_extended_unpacking(self):
@@ -199,8 +198,8 @@ class TestLiterals(GrammarTest):
self.validate(s)
-def diff(fn, result):
- f = open("@", "wb")
+def diff(fn, result, encoding):
+ f = io.open("@", "w", encoding=encoding)
try:
f.write(result)
finally: