summaryrefslogtreecommitdiff
path: root/tests/functional/function_redefined.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/function_redefined.py')
-rw-r--r--tests/functional/function_redefined.py109
1 files changed, 109 insertions, 0 deletions
diff --git a/tests/functional/function_redefined.py b/tests/functional/function_redefined.py
new file mode 100644
index 000000000..ba2832894
--- /dev/null
+++ b/tests/functional/function_redefined.py
@@ -0,0 +1,109 @@
+# pylint: disable=R0201,missing-docstring,using-constant-test,unused-import,wrong-import-position,reimported, useless-object-inheritance, unnecessary-pass
+from __future__ import division
+__revision__ = ''
+
+class AAAA(object):
+ """docstring"""
+ def __init__(self):
+ pass
+ def method1(self):
+ """docstring"""
+
+ def method2(self):
+ """docstring"""
+
+ def method2(self): # [function-redefined]
+ """docstring"""
+
+class AAAA(object): # [function-redefined]
+ """docstring"""
+ def __init__(self):
+ pass
+ def yeah(self):
+ """hehehe"""
+ def yoo(self):
+ """yoo"""
+def func1():
+ """docstring"""
+
+def func2():
+ """docstring"""
+
+def func2(): # [function-redefined]
+ """docstring"""
+ __revision__ = 1 # [redefined-outer-name]
+ return __revision__
+
+if __revision__:
+ def exclusive_func():
+ "docstring"
+else:
+ def exclusive_func():
+ "docstring"
+
+try:
+ def exclusive_func2():
+ "docstring"
+except TypeError:
+ def exclusive_func2():
+ "docstring"
+else:
+ def exclusive_func2(): # [function-redefined]
+ "this one redefine the one defined line 42"
+
+
+def with_inner_function_1():
+ """docstring"""
+ def callback():
+ """callback docstring"""
+ pass
+ return callback
+
+def with_inner_function_2():
+ """docstring"""
+ def callback():
+ """does not redefine callback returned by with_inner_function_1"""
+ pass
+ return callback
+
+def some_func():
+ """Don't emit if we defined a variable with the same name as a
+ __future__ directive.
+ """
+ division = 2
+ return division
+
+def dummy_func():
+ """First dummy function"""
+ pass
+
+def dummy_func():
+ """Second dummy function, don't emit function-redefined message
+ because of the dummy name"""
+ pass
+
+from math import ceil
+def ceil(): # [function-redefined]
+ pass
+
+import math
+def math(): # [function-redefined]
+ pass
+
+import math as _
+def _():
+ pass
+
+# pylint: disable=too-few-public-methods
+class ObjectProxy:
+ """ABC"""
+
+ # We actually *redefine* these attributes, but these shouldn't
+ # be considered actual redefinitions. Issue #2451
+ @property
+ def __module__(self):
+ return "actual.module"
+
+ @property
+ def __doc__(self):
+ return "Docstring"