summaryrefslogtreecommitdiff
path: root/tests/run/eval.pyx
blob: 186c23c7f8372e9c8cca66b542b306efa0984e5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# mode: run
# tag: eval

GLOBAL = 123

def eval_simple(local):
    """
    >>> eval_simple(321)
    (123, 321)
    """
    return eval('GLOBAL, local')

def eval_class_scope():
    """
    >>> eval_class_scope().c
    3
    """
    class TestClassScope:
        a = 1
        b = 2
        c = eval('a + b')
    return TestClassScope

def eval_locals(a, b):
    """
    >>> eval_locals(1, 2)
    (1, 2)
    """
    return eval('a, b', {}, locals())