[pypy-svn] r17295 - in pypy/dist/pypy/rpython: . test
tismer at codespeak.net
tismer at codespeak.net
Tue Sep 6 18:06:21 CEST 2005
Author: tismer
Date: Tue Sep 6 18:06:18 2005
New Revision: 17295
Modified:
pypy/dist/pypy/rpython/rlist.py
pypy/dist/pypy/rpython/test/test_rlist.py
Log:
fixed some bad bugs in ll_insert,
added more tests
Modified: pypy/dist/pypy/rpython/rlist.py
==============================================================================
--- pypy/dist/pypy/rpython/rlist.py (original)
+++ pypy/dist/pypy/rpython/rlist.py Tue Sep 6 18:06:18 2005
@@ -394,8 +394,8 @@
i = length
items = l.items
i1 = i+1
- while i > 0:
- items[i] = items[i1]
+ while i >= 0:
+ items[i1] = items[i]
i1 = i
i -= 1
items[0] = newitem
@@ -406,11 +406,11 @@
items = l.items
i = length
i1 = i+1
- while i > index:
- items[i] = items[i1]
+ while i >= index:
+ items[i1] = items[i]
i1 = i
i -= 1
- items[i] = newitem
+ items[index] = newitem
def ll_insert(l, index, newitem):
if index < 0:
Modified: pypy/dist/pypy/rpython/test/test_rlist.py
==============================================================================
--- pypy/dist/pypy/rpython/test/test_rlist.py (original)
+++ pypy/dist/pypy/rpython/test/test_rlist.py Tue Sep 6 18:06:18 2005
@@ -394,3 +394,20 @@
assert res._obj.value == 3
res = interpret(fn, [-2])
assert res._obj.value == "oups"
+
+def test_list_basic_ops():
+ def list_basic_ops(i=int, j=int):
+ l = [1,2,3]
+ l.insert(0, 42)
+ del l[1]
+ l.append(i)
+ listlen = len(l)
+ l.extend(l)
+ del l[listlen:]
+ l += [5,6]
+ l[1] = i
+ return l[j]
+ for i in range(6):
+ for j in range(6):
+ res = interpret(list_basic_ops, [i, j])
+ assert res == list_basic_ops(i, j)
More information about the Pypy-commit
mailing list