[pypy-svn] r9220 - in pypy/dist/pypy/module: . test
ac at codespeak.net
ac at codespeak.net
Mon Feb 14 21:40:11 CET 2005
Author: ac
Date: Mon Feb 14 21:40:11 2005
New Revision: 9220
Modified:
pypy/dist/pypy/module/__builtin__interp.py
pypy/dist/pypy/module/test/test_builtin.py
Log:
Have getattr() accept unicode argument.
Modified: pypy/dist/pypy/module/__builtin__interp.py
==============================================================================
--- pypy/dist/pypy/module/__builtin__interp.py (original)
+++ pypy/dist/pypy/module/__builtin__interp.py Mon Feb 14 21:40:11 2005
@@ -261,6 +261,8 @@
return space.w_None
def getattr(w_object, w_name, w_defvalue=NoneNotWrapped):
+ if space.is_true(space.isinstance(w_name, space.w_unicode)):
+ w_name = space.call_method(w_name, 'encode')
try:
return space.getattr(w_object, w_name)
except OperationError, e:
Modified: pypy/dist/pypy/module/test/test_builtin.py
==============================================================================
--- pypy/dist/pypy/module/test/test_builtin.py (original)
+++ pypy/dist/pypy/module/test/test_builtin.py Mon Feb 14 21:40:11 2005
@@ -69,6 +69,9 @@
assert getattr(a, 'i') == 5
raises(AttributeError, getattr, a, 'k')
assert getattr(a, 'k', 42) == 42
+ assert getattr(a, u'i') == 5
+ raises(AttributeError, getattr, a, u'k')
+ assert getattr(a, u'k', 42) == 42
def test_sum(self):
assert sum([]) ==0
More information about the Pypy-commit
mailing list