diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-11-05 21:29:56 +0000 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-11-05 21:29:56 +0000 |
commit | 9a570341cef5707e51f08a73afe63d2d6e0732fa (patch) | |
tree | 2634eda476e3963f759e9b773eb18206cae0733b | |
parent | 99c160b559dc6c510e2e9f713191c3c80e26c6f2 (diff) | |
download | cpython-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.py | 15 |
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: |