diff options
Diffstat (limited to 'tests/functional/n/no/no_else_return.py')
-rw-r--r-- | tests/functional/n/no/no_else_return.py | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/tests/functional/n/no/no_else_return.py b/tests/functional/n/no/no_else_return.py new file mode 100644 index 000000000..0a87551fa --- /dev/null +++ b/tests/functional/n/no/no_else_return.py @@ -0,0 +1,110 @@ +""" Test that superfluous else return are detected. """ + + +# pylint:disable=invalid-name,missing-docstring,unused-variable +def foo1(x, y, z): + if x: # [no-else-return] + a = 1 + return y + else: + b = 2 + return z + + +def foo2(x, y, w, z): + if x: # [no-else-return] + a = 1 + return y + elif z: + b = 2 + return w + else: + c = 3 + return z + + +def foo3(x, y, z): + if x: + a = 1 + if y: # [no-else-return] + b = 2 + return y + else: + c = 3 + return x + else: + d = 4 + return z + + +def foo4(x, y): + if x: # [no-else-return] + if y: + a = 4 + else: + b = 2 + return + else: + c = 3 + return + + +def foo5(x, y, z): + if x: # [no-else-return] + if y: + a = 4 + else: + b = 2 + return + elif z: + c = 2 + else: + c = 3 + return + + +def foo6(x, y): + if x: + if y: # [no-else-return] + a = 4 + return + else: + b = 2 + else: + c = 3 + return + + +def bar1(x, y, z): + if x: + return y + return z + + +def bar2(w, x, y, z): + if x: + return y + if z: + a = 1 + else: + return w + return None + + +def bar3(x, y, z): + if x: + if z: + return y + else: + return z + return None + + +def bar4(x): + if x: # [no-else-return] + return True + else: + try: + return False + except ValueError: + return None |