From: Stefan Behnel Date: Wed, 21 Oct 2009 18:47:08 +0000 (+0200) Subject: new test case for locals() X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=50b15073659add4543d05129060dc3c749ba998b;p=cython.git new test case for locals() --- diff --git a/tests/bugs.txt b/tests/bugs.txt index 7a0f2b19..dc8b81d0 100644 --- a/tests/bugs.txt +++ b/tests/bugs.txt @@ -9,3 +9,4 @@ bad_c_struct_T252 missing_baseclass_in_predecl_T262 extended_unpacking_T409 locals_rebind_T429 +locals_expressions_T430 diff --git a/tests/run/locals_expressions_T430.pyx b/tests/run/locals_expressions_T430.pyx new file mode 100644 index 00000000..9bb445b5 --- /dev/null +++ b/tests/run/locals_expressions_T430.pyx @@ -0,0 +1,30 @@ +__doc__ = u""" +>>> sorted( get_locals(1,2,3, k=5) .items()) +[('args', (2, 3)), ('kwds', {'k': 5}), ('x', 1), ('y', 'hi'), ('z', 5)] + +>>> sorted(get_locals_items()) +[('args', (2, 3)), ('kwds', {'k': 5}), ('x', 1), ('y', 'hi'), ('z', 5)] + +>>> sorted(get_locals_items_listcomp()) +[('args', (2, 3)), ('kwds', {'k': 5}), ('x', 1), ('y', 'hi'), ('z', 5)] +""" + +def get_locals(x, *args, **kwds): + cdef int z = 5 + y = "hi" + return locals() + +def get_locals_items(x, *args, **kwds): + cdef int z = 5 + y = "hi" + return locals().items() + +def get_locals_items_listcomp(x, *args, **kwds): + cdef int z = 5 + y = "hi" + return [ item for item in locals().items() ] + +def sorted(it): + l = list(it) + l.sort() + return l