* various jython related fixes.

* more care for print-errors including unicode-encoding related errors.

--HG--
branch : trunk
This commit is contained in:
holger krekel
2010-04-28 15:24:38 +02:00
parent 37cdf17e0e
commit 22a50a5b88
12 changed files with 63 additions and 27 deletions

View File

@@ -193,7 +193,7 @@ def test_builtin_patch_unpatch(monkeypatch):
assert cpy_builtin.compile == mycompile
def test_unicode_handling(testdir):
def test_unicode_handling():
value = py.builtin._totext('\xc4\x85\xc4\x87\n', 'utf-8').encode('utf8')
def f():
raise Exception(value)
@@ -201,3 +201,19 @@ def test_unicode_handling(testdir):
s = str(excinfo)
if sys.version_info[0] < 3:
u = unicode(excinfo)
def test_unicode_or_repr():
from py._code.code import unicode_or_repr
assert unicode_or_repr('hello') == "hello"
if sys.version_info[0] < 3:
s = unicode_or_repr('\xf6\xc4\x85')
else:
s = eval("unicode_or_repr(b'\\f6\\xc4\\x85')")
assert 'print-error' in s
assert 'c4' in s
class A:
def __repr__(self):
raise ValueError()
s = unicode_or_repr(A())
assert 'print-error' in s
assert 'ValueError' in s