summaryrefslogtreecommitdiff
path: root/tests/functional/u/useless/useless_super_delegation.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/u/useless/useless_super_delegation.py')
-rw-r--r--tests/functional/u/useless/useless_super_delegation.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/functional/u/useless/useless_super_delegation.py b/tests/functional/u/useless/useless_super_delegation.py
index 002c7eb03..2e0384040 100644
--- a/tests/functional/u/useless/useless_super_delegation.py
+++ b/tests/functional/u/useless/useless_super_delegation.py
@@ -3,6 +3,7 @@
# pylint: disable=line-too-long, useless-object-inheritance, arguments-out-of-order
# pylint: disable=super-with-arguments, dangerous-default-value
+default_var = 1
def not_a_method(param, param2):
return super(None, None).not_a_method(param, param2)
@@ -52,12 +53,18 @@ class Base(SuperBase):
def with_default_argument_dict(self, first, default_arg={}):
pass
+ def with_default_argument_var(self, first, default_arg=default_var):
+ pass
+
def with_default_arg_ter(self, first, default_arg="has_been_changed"):
super().with_default_arg_ter(first, default_arg)
def with_default_arg_quad(self, first, default_arg="has_been_changed"):
super().with_default_arg_quad(first, default_arg)
+ def with_default_unhandled(self, first, default_arg=lambda: True):
+ super().with_default_arg_quad(first, default_arg)
+
class NotUselessSuper(Base):
def multiple_statements(self):
@@ -167,6 +174,11 @@ class NotUselessSuper(Base):
# Not useless because the default_arg is different from the one in the base class
super(NotUselessSuper, self).with_default_argument_dict(first, default_arg)
+ default_var = 2
+ def with_default_argument_var(self, first, default_arg=default_var):
+ # Not useless because the default_arg refers to a different variable from the one in the base class
+ super(NotUselessSuper, self).with_default_argument_var(first, default_arg)
+
def with_default_argument_bis(self, first, default_arg="default"):
# Although the default_arg is the same as in the base class, the call signature
# differs. Thus it is not useless.
@@ -192,6 +204,10 @@ class NotUselessSuper(Base):
# call is different from the signature
super(NotUselessSuper, self).with_default_arg_quad(first, default_arg + "_and_modified")
+ def with_default_unhandled(self, first, default_arg=lambda: True):
+ # Not useless because the default value type is not explictely handled (Lambda), so assume they are different
+ super(NotUselessSuper, self).with_default_unhandled(first, default_arg)
+
class UselessSuper(Base):
@@ -236,6 +252,9 @@ class UselessSuper(Base):
def with_default_argument_dict(self, first, default_arg={}): # [useless-super-delegation]
super(UselessSuper, self).with_default_argument_dict(first, default_arg)
+ def with_default_argument_var(self, first, default_arg=default_var): # [useless-super-delegation]
+ super(UselessSuper, self).with_default_argument_var(first, default_arg)
+
def __init__(self): # [useless-super-delegation]
super(UselessSuper, self).__init__()