From 90dbf8a8a20913e7a75306523ff48e327bf13235 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Sun, 30 Nov 2008 06:06:43 +0100 Subject: [PATCH] extended test case for returning from for loops --- tests/run/r_forloop.pyx | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tests/run/r_forloop.pyx b/tests/run/r_forloop.pyx index cfb4683a..de6886ea 100644 --- a/tests/run/r_forloop.pyx +++ b/tests/run/r_forloop.pyx @@ -4,46 +4,91 @@ __doc__ = u""" Spam! Spam! Spam! + >>> go_py_ret() + 2 >>> go_c() Spam! Spam! Spam! Spam! + >>> go_c_ret() + 2 >>> go_list() Spam! Spam! Spam! Spam! + >>> go_list_ret() + 2 >>> go_tuple() Spam! Spam! Spam! Spam! + >>> go_tuple_ret() + 2 + + >>> go_dict() + Spam! + Spam! + Spam! + Spam! + >>> go_dict_ret() + 2 """ def go_py(): for i in range(4): print u"Spam!" +def go_py_ret(): + for i in range(4): + if i > 1: + return i + def go_c(): cdef int i for i in range(4): print u"Spam!" +def go_c_ret(): + cdef int i + for i in range(4): + if i > 1: + return i + def go_list(): cdef list l = range(4) for i in l: print u"Spam!" +def go_list_ret(): + cdef list l = range(4) + for i in l: + if i > 1: + return i + def go_tuple(): cdef tuple t = tuple(range(4)) for i in t: print u"Spam!" +def go_tuple_ret(): + cdef tuple t = tuple(range(4)) + for i in t: + if i > 1: + return i + def go_dict(): cdef dict d = dict(zip(range(4), range(4))) for i in d: print u"Spam!" + +def go_dict_ret(): + cdef dict d = dict(zip(range(4), range(4))) + for i in d: + if i > 1 and i < 3: + return i -- 2.26.2