3 new commits in pytest: https://bitbucket.org/hpk42/pytest/commits/92078d772e04/ Changeset: 92078d772e04 Branch: makepyfile_utf8 User: Marc Abramowitz Date: 2014-03-28 17:44:18 Summary: Make makepyfile accept UTF-8 so a few cookie tests in test_assertrewrite.py don't need to be dedented. Affected #: 2 files
diff -r d4b093bc36df977c017b43286953286542c788cf -r 92078d772e043323ff09b9b5b25c3baf0745a820 _pytest/pytester.py --- a/_pytest/pytester.py +++ b/_pytest/pytester.py @@ -246,8 +246,14 @@ ret = None for name, value in items: p = self.tmpdir.join(name).new(ext=ext) - source = py.builtin._totext(py.code.Source(value)).strip() - content = source.encode("utf-8") # + "\n" + source = py.code.Source(value) + def my_totext(s, encoding="utf-8"): + if py.builtin._isbytes(s): + s = py.builtin._totext(s, encoding=encoding) + return s + source_unicode = "\n".join([my_totext(line) for line in source.lines]) + source = py.builtin._totext(source_unicode) + content = source.strip().encode("utf-8") # + "\n" #content = content.rstrip() + "\n" p.write(content, "wb") if ret is None: diff -r d4b093bc36df977c017b43286953286542c788cf -r 92078d772e043323ff09b9b5b25c3baf0745a820 testing/test_assertrewrite.py --- a/testing/test_assertrewrite.py +++ b/testing/test_assertrewrite.py @@ -458,28 +458,29 @@ @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""", "wb") + testdir.makepyfile(test_cookie=u""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""".encode('utf-8')) assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_second_line(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""#!/usr/bin/env python -# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""", "wb") + testdir.makepyfile(test_cookie=u""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""".encode('utf-8')) assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_crlf(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""#!/usr/bin/env python -# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""".replace("\n", "\r\n"), "wb") + testdir.makepyfile(test_cookie=u""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""".encode('utf-8')) assert testdir.runpytest().ret == 0 def test_sys_meta_path_munged(self, testdir): https://bitbucket.org/hpk42/pytest/commits/a2e75db956eb/ Changeset: a2e75db956eb Branch: makepyfile_utf8 User: Marc Abramowitz Date: 2014-03-28 20:11:33 Summary: Simplify tests; don't use u literal not supported in py32 Affected #: 1 file diff -r 92078d772e043323ff09b9b5b25c3baf0745a820 -r a2e75db956eb29bdf66ff001c2d14d09555a8a86 testing/test_assertrewrite.py --- a/testing/test_assertrewrite.py +++ b/testing/test_assertrewrite.py @@ -458,29 +458,29 @@ @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie(self, testdir): - testdir.makepyfile(test_cookie=u""" + testdir.makepyfile(test_cookie=""" # -*- coding: utf-8 -*- u"St\xc3\xa4d" def test_rewritten(): - assert "@py_builtins" in globals()""".encode('utf-8')) + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_second_line(self, testdir): - testdir.makepyfile(test_cookie=u""" + testdir.makepyfile(test_cookie=""" # -*- coding: utf-8 -*- u"St\xc3\xa4d" def test_rewritten(): - assert "@py_builtins" in globals()""".encode('utf-8')) + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_crlf(self, testdir): - testdir.makepyfile(test_cookie=u""" + testdir.makepyfile(test_cookie=""" # -*- coding: utf-8 -*- u"St\xc3\xa4d" def test_rewritten(): - assert "@py_builtins" in globals()""".encode('utf-8')) + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 def test_sys_meta_path_munged(self, testdir): https://bitbucket.org/hpk42/pytest/commits/f2bec97a11fa/ Changeset: f2bec97a11fa User: hpk42 Date: 2014-04-03 10:00:24 Summary: Merged in msabramo/pytest/makepyfile_utf8 (pull request #134) Make makepyfile accept UTF-8 so a few cookie tests in test_assertrewrite.py Affected #: 2 files diff -r e3398dc8d7cc36221657d3d4b417231f60a019a6 -r f2bec97a11fa7499aaed3588daf6fea24fccb999 _pytest/pytester.py --- a/_pytest/pytester.py +++ b/_pytest/pytester.py @@ -246,8 +246,14 @@ ret = None for name, value in items: p = self.tmpdir.join(name).new(ext=ext) - source = py.builtin._totext(py.code.Source(value)).strip() - content = source.encode("utf-8") # + "\n" + source = py.code.Source(value) + def my_totext(s, encoding="utf-8"): + if py.builtin._isbytes(s): + s = py.builtin._totext(s, encoding=encoding) + return s + source_unicode = "\n".join([my_totext(line) for line in source.lines]) + source = py.builtin._totext(source_unicode) + content = source.strip().encode("utf-8") # + "\n" #content = content.rstrip() + "\n" p.write(content, "wb") if ret is None: diff -r e3398dc8d7cc36221657d3d4b417231f60a019a6 -r f2bec97a11fa7499aaed3588daf6fea24fccb999 testing/test_assertrewrite.py --- a/testing/test_assertrewrite.py +++ b/testing/test_assertrewrite.py @@ -458,28 +458,29 @@ @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""", "wb") + testdir.makepyfile(test_cookie=""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_second_line(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""#!/usr/bin/env python -# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""", "wb") + testdir.makepyfile(test_cookie=""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 @pytest.mark.skipif("sys.version_info[0] >= 3") def test_detect_coding_cookie_crlf(self, testdir): - testdir.tmpdir.join("test_cookie.py").write("""#!/usr/bin/env python -# -*- coding: utf-8 -*- -u"St\xc3\xa4d" -def test_rewritten(): - assert "@py_builtins" in globals()""".replace("\n", "\r\n"), "wb") + testdir.makepyfile(test_cookie=""" + # -*- coding: utf-8 -*- + u"St\xc3\xa4d" + def test_rewritten(): + assert "@py_builtins" in globals()""") assert testdir.runpytest().ret == 0 def test_sys_meta_path_munged(self, testdir): Repository URL: https://bitbucket.org/hpk42/pytest/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. _______________________________________________ pytest-commit mailing list pytest-commit@python.org https://mail.python.org/mailman/listinfo/pytest-commit