more tests for for-loops and constant expressions
authorStefan Behnel <scoder@users.berlios.de>
Thu, 18 Dec 2008 09:19:38 +0000 (10:19 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Thu, 18 Dec 2008 09:19:38 +0000 (10:19 +0100)
tests/run/consts.pyx
tests/run/r_forloop.pyx

index 6e1fe8dfa963cb399bb4880019348b622fd5b4f2..d6c500f4e0d53f5b2cf5c7cd57c4b45dc97dece3 100644 (file)
@@ -3,25 +3,38 @@ __doc__ = u"""
 True
 >>> add_var(10) == 1+2+10+3+4
 True
+>>> neg() == -1 -2 - (-3+4)
+True
 >>> mul() == 1*60*1000
 True
 >>> arithm() == 9*2+3*8/6-10
 True
+>>> parameters() == _func(-1 -2, - (-3+4), 1*2*3)
+True
 >>> lists() == [1,2,3] + [4,5,6]
 True
 """
 
+def _func(a,b,c):
+    return a+b+c
+
 def add():
     return 1+2+3+4
 
 def add_var(a):
     return 1+2 +a+ 3+4
 
+def neg():
+    return -1 -2 - (-3+4)
+
 def mul():
     return 1*60*1000
 
 def arithm():
     return 9*2+3*8/6-10
 
+def parameters():
+    return _func(-1 -2, - (-3+4), 1*2*3)
+
 def lists():
     return [1,2,3] + [4,5,6]
index 35949e03117700c1f447d44c7a833d029b9da197..4f5b652364a5e7ee4f146a39594b9b99f3c080b0 100644 (file)
@@ -21,6 +21,9 @@ __doc__ = u"""
   >>> go_c_all_exprs(3)
   Spam!
   Spam!
+  >>> go_c_const_exprs()
+  Spam!
+  Spam!
   >>> go_c_calc(2)
   Spam!
   Spam!
@@ -52,6 +55,9 @@ __doc__ = u"""
   Spam!
   >>> go_dict_ret()
   2
+
+  >>> global_result
+  6
 """
 
 def go_py():
@@ -78,6 +84,11 @@ def go_c_all_exprs(x):
     for i in range(4*x,2*x,-3):
         print u"Spam!"
 
+def go_c_const_exprs():
+    cdef int i
+    for i in range(4*2+1,2*2,-2-1):
+        print u"Spam!"
+
 def f(x):
     return 2*x
 
@@ -130,3 +141,11 @@ def go_dict_ret():
     for i in d:
         if i > 1 and i < 3:
             return i
+
+# test global scope also
+global_result = None
+cdef int i
+for i in range(4*2+1,2*2,-2-1):
+    if i < 7:
+        global_result = i
+        break