extended test case
authorStefan Behnel <scoder@users.berlios.de>
Mon, 31 May 2010 12:20:15 +0000 (14:20 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Mon, 31 May 2010 12:20:15 +0000 (14:20 +0200)
tests/run/for_in_range_T372.pyx

index 0ded4501a393212aa6ba648d6a5e2d353449a02a..6ba4ee47f38fc0591edbb25ba8a44ce56b2b7b43 100644 (file)
@@ -20,6 +20,42 @@ def test_modify():
     print
     return i,n
 
+@cython.test_assert_path_exists("//ForFromStatNode")
+@cython.test_fail_if_path_exists("//ForInStatNode")
+def test_negindex():
+    """
+    >>> test_negindex()
+    6
+    5
+    4
+    3
+    2
+    (2, 0)
+    """
+    cdef int i, n = 5
+    for i in range(n+1, 1, -1):
+        print i
+        n = 0
+    return i,n
+
+@cython.test_assert_path_exists("//ForFromStatNode",
+                                "//ForFromStatNode//PrintStatNode//CoerceToPyTypeNode")
+@cython.test_fail_if_path_exists("//ForInStatNode")
+def test_negindex_inferred():
+    """
+    >>> test_negindex_inferred()
+    5
+    4
+    3
+    2
+    (2, 0)
+    """
+    cdef int n = 5
+    for i in range(n, 1, -1):
+        print i
+        n = 0
+    return i,n
+
 @cython.test_assert_path_exists("//ForFromStatNode")
 @cython.test_fail_if_path_exists("//ForInStatNode")
 def test_fix():