[pypy-svn] r40234 - in pypy/dist/pypy/objspace/std: . test
arigo at codespeak.net
arigo at codespeak.net
Sun Mar 11 17:27:11 CET 2007
Author: arigo
Date: Sun Mar 11 17:27:09 2007
New Revision: 40234
Modified:
pypy/dist/pypy/objspace/std/test/test_unicodeobject.py
pypy/dist/pypy/objspace/std/unicodetype.py
Log:
Fix for unicode(None) incorrectly returning u''.
Modified: pypy/dist/pypy/objspace/std/test/test_unicodeobject.py
==============================================================================
--- pypy/dist/pypy/objspace/std/test/test_unicodeobject.py (original)
+++ pypy/dist/pypy/objspace/std/test/test_unicodeobject.py Sun Mar 11 17:27:09 2007
@@ -258,3 +258,9 @@
a = x.__getnewargs__()
assert a == (u"foo\u1234",)
assert type(a[0]) is unicode
+
+ def test_call_unicode(self):
+ assert unicode() == u''
+ assert unicode(None) == u'None'
+ assert unicode(123) == u'123'
+ assert unicode([2, 3]) == u'[2, 3]'
Modified: pypy/dist/pypy/objspace/std/unicodetype.py
==============================================================================
--- pypy/dist/pypy/objspace/std/unicodetype.py (original)
+++ pypy/dist/pypy/objspace/std/unicodetype.py Sun Mar 11 17:27:09 2007
@@ -273,7 +273,7 @@
return W_UnicodeObject(codelist)
-def descr__new__(space, w_unicodetype, w_string=None, w_encoding=None, w_errors=None):
+def descr__new__(space, w_unicodetype, w_string='', w_encoding=None, w_errors=None):
from pypy.objspace.std.unicodeobject import W_UnicodeObject
w_obj = w_string
w_obj_type = space.type(w_obj)
@@ -286,8 +286,6 @@
if space.is_w(w_unicodetype, space.w_unicode):
return w_obj
w_value = w_obj
- elif space.is_w(w_obj, space.w_None):
- w_value = W_UnicodeObject([])
elif (space.is_w(w_encoding, space.w_None) and
space.is_w(w_errors, space.w_None)):
if space.is_true(space.isinstance(w_obj, space.w_str)):
More information about the Pypy-commit
mailing list