From 9a570341cef5707e51f08a73afe63d2d6e0732fa Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Thu, 5 Nov 2009 21:29:56 +0000 Subject: 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 ........ --- Lib/lib2to3/tests/test_parser.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/lib2to3/tests/test_parser.py index ebde848..08b9161 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: -- cgit v0.12