[pypy-commit] pypy set-strategies: (cfbolz, l.diekmann): added listview_str for strings
l.diekmann
noreply at buildbot.pypy.org
Wed Jan 11 14:56:22 CET 2012
Author: Lukas Diekmann <lukas.diekmann at uni-duesseldorf.de>
Branch: set-strategies
Changeset: r51227:44c5a3419379
Date: 2012-01-11 14:55 +0100
http://bitbucket.org/pypy/pypy/changeset/44c5a3419379/
Log: (cfbolz, l.diekmann): added listview_str for strings
diff --git a/pypy/objspace/std/objspace.py b/pypy/objspace/std/objspace.py
--- a/pypy/objspace/std/objspace.py
+++ b/pypy/objspace/std/objspace.py
@@ -442,6 +442,8 @@
return w_obj.listview_str()
if isinstance(w_obj, W_DictMultiObject):
return w_obj.listview_str()
+ if isinstance(w_obj, W_StringObject):
+ return w_obj.listview_str()
return None
def listview_int(self, w_obj):
diff --git a/pypy/objspace/std/stringobject.py b/pypy/objspace/std/stringobject.py
--- a/pypy/objspace/std/stringobject.py
+++ b/pypy/objspace/std/stringobject.py
@@ -60,6 +60,9 @@
from pypy.objspace.std.unicodetype import plain_str2unicode
return plain_str2unicode(space, w_self._value)
+ def listview_str(w_self):
+ return list(w_self._value)
+
registerimplementation(W_StringObject)
W_StringObject.EMPTY = W_StringObject('')
diff --git a/pypy/objspace/std/test/test_stringobject.py b/pypy/objspace/std/test/test_stringobject.py
--- a/pypy/objspace/std/test/test_stringobject.py
+++ b/pypy/objspace/std/test/test_stringobject.py
@@ -85,6 +85,10 @@
w_slice = space.newslice(w(1), w_None, w(2))
assert self.space.eq_w(space.getitem(w_str, w_slice), w('el'))
+ def test_listview_str(self):
+ w_str = self.space.wrap('abcd')
+ assert self.space.listview_str(w_str) == list("abcd")
+
class AppTestStringObject:
def test_format_wrongchar(self):
More information about the pypy-commit
mailing list