diff options
Diffstat (limited to 'tests/run/genexpr_iterable_lookup_T600.pyx')
-rw-r--r-- | tests/run/genexpr_iterable_lookup_T600.pyx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/run/genexpr_iterable_lookup_T600.pyx b/tests/run/genexpr_iterable_lookup_T600.pyx index 945652717..c288993a6 100644 --- a/tests/run/genexpr_iterable_lookup_T600.pyx +++ b/tests/run/genexpr_iterable_lookup_T600.pyx @@ -35,6 +35,11 @@ def genexpr_iterable_in_closure(): result = list( x*2 for x in x if x != 'b' ) assert x == 'abc' # don't leak in Py3 code assert f() == 'abc' # don't leak in Py3 code + + # Py2 cleanup (pretty irrelevant to the actual test!) + import sys + if sys.version_info[0] == 2: + result = map(bytes, result) return result @@ -51,6 +56,7 @@ def genexpr_over_complex_arg(func, L): def listcomp(): """ >>> listcomp() + [0, 1, 5, 8] """ data = [('red', 5), ('blue', 1), ('yellow', 8), ('black', 0)] data.sort(key=lambda r: r[1]) @@ -84,3 +90,15 @@ def genexpr_in_dictcomp_dictiter(): """ d = {1:2, 3:4, 5:6} return {k:d for k,d in d.iteritems() if d != 4} + + +def genexpr_over_array_slice(): + """ + >>> list(genexpr_over_array_slice()) + [0.0, 1.0, 2.0, 3.0, 4.0, 5.0] + """ + cdef double x[10] + for i in range(10): + x[i] = i + cdef int n = 5 + return (n for n in x[:n+1]) |