[pypy-svn] r70969 - in pypy/trunk/pypy/objspace/std: . test

arigo at codespeak.net arigo at codespeak.net
Fri Jan 29 15:06:09 CET 2010


Author: arigo
Date: Fri Jan 29 15:06:08 2010
New Revision: 70969

Modified:
   pypy/trunk/pypy/objspace/std/test/test_unicodeobject.py
   pypy/trunk/pypy/objspace/std/unicodeobject.py
Log:
Test and fix.


Modified: pypy/trunk/pypy/objspace/std/test/test_unicodeobject.py
==============================================================================
--- pypy/trunk/pypy/objspace/std/test/test_unicodeobject.py	(original)
+++ pypy/trunk/pypy/objspace/std/test/test_unicodeobject.py	Fri Jan 29 15:06:08 2010
@@ -562,6 +562,23 @@
         raises(TypeError, S.rpartition, None)
 
 
+    def test_mul(self):
+        zero = 0
+        assert type(u'' * zero) == type(zero * u'') == unicode
+        assert u'' * zero == zero * u'' == u''
+        assert u'x' * zero == zero * u'x' == u''
+        assert type(u'x' * zero) == type(zero * u'x') == unicode
+        assert u'123' * zero == zero * u'123' == u''
+        assert type(u'123' * zero) == type(zero * u'123') == unicode
+        for i in range(10):
+            u = u'123' * i
+            assert len(u) == 3*i
+            for j in range(0, i, 3):
+                assert u[j+0] == u'1'
+                assert u[j+1] == u'2'
+                assert u[j+2] == u'3'
+            assert u'123' * i == i * u'123'
+
     def test_rindex(self):
         from sys import maxint
         assert u'abcdefghiabc'.rindex(u'') == 12

Modified: pypy/trunk/pypy/objspace/std/unicodeobject.py
==============================================================================
--- pypy/trunk/pypy/objspace/std/unicodeobject.py	(original)
+++ pypy/trunk/pypy/objspace/std/unicodeobject.py	Fri Jan 29 15:06:08 2010
@@ -262,7 +262,7 @@
             raise FailedToImplement
         raise
     if times <= 0:
-        return W_StringObject.EMPTY
+        return W_UnicodeObject.EMPTY
     input = w_uni._value
     if len(input) == 1:
         result = input[0] * times



More information about the Pypy-commit mailing list