Author: Antonio Cuni <[email protected]>
Branch: py3k
Changeset: r51830:f93127358305
Date: 2012-01-26 16:28 +0100
http://bitbucket.org/pypy/pypy/changeset/f93127358305/
Log: after one day of investigation, add support for unicode characters
inside the 'raises' function in apptests. The test still fails
because we don't fully support unicode error messages
diff --git a/pypy/interpreter/test/test_argument.py
b/pypy/interpreter/test/test_argument.py
--- a/pypy/interpreter/test/test_argument.py
+++ b/pypy/interpreter/test/test_argument.py
@@ -589,12 +589,18 @@
assert exc.value.message == "<lambda>() takes exactly 2 non-keyword
arguments (0 given)"
def test_unicode_keywords(self):
+ """
def f(**kwargs):
- assert kwargs[u"美"] == 42
- f(**{u"美" : 42})
+ assert kwargs["美"] == 42
+ f(**{"美" : 42})
+ #
+ # XXX: the following test fails because we cannot have error messages
+ # with unicode characters yet, and it tries to build a message like:
+ # "f() got an unexpected keyword argument 'ü'"
def f(x): pass
- e = raises(TypeError, "f(**{u'ü' : 19})")
+ e = raises(TypeError, "f(**{'ü' : 19})")
assert "?" in str(e.value)
+ """
def make_arguments_for_translation(space, args_w, keywords_w={},
w_stararg=None, w_starstararg=None):
diff --git a/pypy/tool/pytest/appsupport.py b/pypy/tool/pytest/appsupport.py
--- a/pypy/tool/pytest/appsupport.py
+++ b/pypy/tool/pytest/appsupport.py
@@ -236,7 +236,7 @@
#if filename.endswith("pyc"):
# filename = filename[:-1]
try:
- space.exec_(str(source), frame.w_globals, w_locals,
+ space.exec_(unicode(source).encode('utf-8'), frame.w_globals,
w_locals,
filename=filename)
except OperationError, e:
if e.match(space, w_ExpectedException):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit