summaryrefslogtreecommitdiff
path: root/pyflakes/test/test_builtin.py
blob: 7150ddb1e454510b9a3249aabb51d29b6190b3da (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
30
31
32
33
34
35
36
37
38
39
40
41
"""
Tests for detecting redefinition of builtins.
"""
from sys import version_info

from pyflakes import messages as m
from pyflakes.test.harness import TestCase, skipIf


class TestBuiltins(TestCase):

    def test_builtin_unbound_local(self):
        self.flakes('''
        def foo():
            a = range(1, 10)
            range = a
            return range

        foo()

        print(range)
        ''', m.UndefinedLocal)

    def test_global_shadowing_builtin(self):
        self.flakes('''
        def f():
            global range
            range = None
            print(range)

        f()
        ''')

    @skipIf(version_info >= (3,), 'not an UnboundLocalError in Python 3')
    def test_builtin_in_comprehension(self):
        self.flakes('''
        def f():
            [range for range in range(1, 10)]

        f()
        ''', m.UndefinedLocal)