[pypy-svn] rev 703 - in pypy/trunk/src/pypy/objspace/std: . test
mwh at codespeak.net
mwh at codespeak.net
Thu May 29 17:42:12 CEST 2003
Author: mwh
Date: Thu May 29 17:42:12 2003
New Revision: 703
Modified:
pypy/trunk/src/pypy/objspace/std/stringobject.py
pypy/trunk/src/pypy/objspace/std/test/test_sliceobject.py
Log:
app-space string slice works; now we have both, which do we use?
also adds a couple tests to test_sliceobject, some disabled pending
getting ****ing exceptions working properly
Modified: pypy/trunk/src/pypy/objspace/std/stringobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/stringobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/stringobject.py Thu May 29 17:42:12 2003
@@ -220,6 +220,8 @@
W_StringObject, W_IntObject)
def getitem_str_slice(space, w_str, w_slice):
+# return space.gethelper(applicationfile).call(
+# "getitem_string_slice", [w_str, w_slice])
w = space.wrap
u = space.unwrap
w_start, w_stop, w_step, w_sl = w_slice.indices(w(w_str._value.len))
@@ -233,8 +235,6 @@
w_r = space.newlist(r)
w_empty = space.newstring([])
return w_empty.join(w_r)
- return space.gethelper(applicationfile).call(
- "getitem_string_slice", [w_str, w_slice])
StdObjSpace.getitem.register(getitem_str_slice,
W_StringObject, W_SliceObject)
Modified: pypy/trunk/src/pypy/objspace/std/test/test_sliceobject.py
==============================================================================
--- pypy/trunk/src/pypy/objspace/std/test/test_sliceobject.py (original)
+++ pypy/trunk/src/pypy/objspace/std/test/test_sliceobject.py Thu May 29 17:42:12 2003
@@ -18,7 +18,20 @@
w_None = space.w_None
w_slice = space.newslice(w_None, w_None, w_None)
self.equal_indices(w_slice.indices(w(6)), (0, 6, 1, 6))
-
+ w_slice = space.newslice(w(0), w(6), w(1))
+ self.equal_indices(w_slice.indices(w(6)), (0, 6, 1, 6))
+ w_slice = space.newslice(w_None, w_None, w(-1))
+ self.equal_indices(w_slice.indices(w(6)), (5, -1, -1, 6))
+
+ def XXXtest_indices_fail(self):
+ """ usual exception problems """
+ space = self.space
+ w = space.wrap
+ w_None = space.w_None
+ w_slice = space.newslice(w_None, w_None, w(0))
+ self.equal_indices(w_slice.indices(w(6)), (5, -1, -1, 6))
+ self.assertRaises_w(space.w_ValueError,
+ w_slice.indices, w(10))
if __name__ == '__main__':
testsupport.main()
More information about the Pypy-commit
mailing list