summaryrefslogtreecommitdiff
path: root/pylint/test/functional/no_else_break.py
blob: cf23f313ac23e857ce80fbfc56046fdaa5e6c48c (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
""" Test that superfluous else return are detected. """

# pylint:disable=invalid-name,missing-docstring,unused-variable


def foo1(x, y, z):
    for i in x:
        if i > y:  # [no-else-break]
            break
        else:
            a = z


def foo2(x, y, w, z):
    for i in x:
        if i > y:  # [no-else-break]
            break
        elif i > w:
            break
        else:
            a = z


def foo3(x, y, z):
    for i in x:
        if i > y:
            a = 1
            if z:  # [no-else-break]
                b = 2
                break
            else:
                c = 3
                break
        else:
            d = 4
            break


def foo4(x, y):
    for i in x:
        if i > x:  # [no-else-break]
            if y:
                a = 4
            else:
                b = 2
            break
        else:
            c = 3
        break


def foo5(x, y, z):
    for i in x:
        if i > y:  # [no-else-break]
            if y:
                a = 4
            else:
                b = 2
            break
        elif z:
            c = 2
        else:
            c = 3
        break


def foo6(x, y):
    for i in x:
        if i > x:
            if y:  # [no-else-break]
                a = 4
                break
            else:
                b = 2
        else:
            c = 3
        break


def bar1(x, y, z):
    for i in x:
        if i > y:
            break
        return z


def bar2(w, x, y, z):
    for i in w:
        if i > x:
            break
        if z < i:
            a = y
        else:
            break
        return


def bar3(x, y, z):
    for i in x:
        if i > y:
            if z:
                break
        else:
            return z
        return None


def bar4(x):
    for i in range(10):
        if x:  # [no-else-break]
            break
        else:
            try:
                return
            except ValueError:
                break


def nested1(x, y, z):
    for i in x:
        if i > x:
            for j in y:
                if j < z:
                    break
        else:
            a = z


def nested2(x, y, z):
    for i in x:
        if i > x:
            for j in y:
                if j > z:
                    break
                break
        else:
            a = z