[pypy-svn] r48502 - in pypy/branch/unicode-objspace/pypy/objspace/std: . test

fijal at codespeak.net fijal at codespeak.net
Sat Nov 10 13:38:57 CET 2007


Author: fijal
Date: Sat Nov 10 13:38:56 2007
New Revision: 48502

Modified:
   pypy/branch/unicode-objspace/pypy/objspace/std/test/test_unicodeobject.py
   pypy/branch/unicode-objspace/pypy/objspace/std/unicodetype.py
Log:
I don't get it, but at least test is passing


Modified: pypy/branch/unicode-objspace/pypy/objspace/std/test/test_unicodeobject.py
==============================================================================
--- pypy/branch/unicode-objspace/pypy/objspace/std/test/test_unicodeobject.py	(original)
+++ pypy/branch/unicode-objspace/pypy/objspace/std/test/test_unicodeobject.py	Sat Nov 10 13:38:56 2007
@@ -365,3 +365,8 @@
 
         raises(TypeError, u'hello'.translate)
         raises(TypeError, u'abababc'.translate, {ord('a'):''})
+
+    def test_unicode_form_encoded_object(self):
+        assert unicode('x', 'utf-8') == u'x'
+        assert unicode('x', 'utf-8', 'strict') == u'x'
+        

Modified: pypy/branch/unicode-objspace/pypy/objspace/std/unicodetype.py
==============================================================================
--- pypy/branch/unicode-objspace/pypy/objspace/std/unicodetype.py	(original)
+++ pypy/branch/unicode-objspace/pypy/objspace/std/unicodetype.py	Sat Nov 10 13:38:56 2007
@@ -148,12 +148,12 @@
         encoding = space.defaultencoding
     w_decode = space.getattr(w_codecs, space.wrap("decode"))
     if errors is None:
-        w_retval, w_length = space.unpacktuple(
-            space.call(w_decode, w_obj, space.wrap(encoding)), 2)
+        w_retval = space.call(w_decode, space.newlist([w_obj,
+                                                       space.wrap(encoding)]))
     else:
-        w_retval, w_length = space.unpacktuple(
-            space.call(w_decode, w_obj, space.wrap(encoding),
-                       space.wrap(errors)), 2)
+        w_retval = space.call(w_decode, space.newlist([w_obj,
+                                                       space.wrap(encoding),
+                                                       space.wrap(errors)]))
     if not space.is_true(space.isinstance(w_retval, space.w_unicode)):
         raise OperationError(
             space.w_TypeError,
@@ -180,7 +180,7 @@
             w_res = space.call(w_unicode_method)
     if space.is_true(space.isinstance(w_res, space.w_unicode)):
         return w_res
-    return unicode_from_encoded_object(w_res, None, "strict")
+    return unicode_from_encoded_object(space, w_res, None, "strict")
 
 def unicode_from_string(space, w_str):
     # this is a performance and bootstrapping hack



More information about the Pypy-commit mailing list