Skip to content

Commit 29da511

Browse files
committed
Adds a test for useless-super-delegation in case of default keyword argument that is a dict
1 parent 178752a commit 29da511

File tree

2 files changed

+29
-18
lines changed

2 files changed

+29
-18
lines changed

tests/functional/u/useless_super_delegation.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# pylint: disable=missing-docstring, no-member, no-self-use, bad-super-call
22
# pylint: disable=too-few-public-methods, unused-argument, invalid-name, too-many-public-methods
33
# pylint: disable=line-too-long, useless-object-inheritance, arguments-out-of-order
4-
# pylint: disable=super-with-arguments
4+
# pylint: disable=super-with-arguments, dangerous-default-value
55

66
def not_a_method(param, param2):
77
return super(None, None).not_a_method(param, param2)
@@ -49,6 +49,9 @@ def with_default_argument_int(self, first, default_arg=42):
4949
def with_default_argument_tuple(self, first, default_arg=()):
5050
pass
5151

52+
def with_default_argument_dict(self, first, default_arg={}):
53+
pass
54+
5255
def with_default_arg_ter(self, first, default_arg="has_been_changed"):
5356
super().with_default_arg_ter(first, default_arg)
5457

@@ -160,6 +163,10 @@ def with_default_argument_tuple(self, first, default_arg=("42", "a")):
160163
# Not useless because the default_arg is different from the one in the base class
161164
super(NotUselessSuper, self).with_default_argument_tuple(first, default_arg)
162165

166+
def with_default_argument_dict(self, first, default_arg={'foo': 'bar'}):
167+
# Not useless because the default_arg is different from the one in the base class
168+
super(NotUselessSuper, self).with_default_argument_dict(first, default_arg)
169+
163170
def with_default_argument_bis(self, first, default_arg="default"):
164171
# Although the default_arg is the same as in the base class, the call signature
165172
# differs. Thus it is not useless.
@@ -226,6 +233,9 @@ def with_default_argument_int(self, first, default_arg=42): # [useless-super-del
226233
def with_default_argument_tuple(self, first, default_arg=()): # [useless-super-delegation]
227234
super(UselessSuper, self).with_default_argument_tuple(first, default_arg)
228235

236+
def with_default_argument_dict(self, first, default_arg={}): # [useless-super-delegation]
237+
super(UselessSuper, self).with_default_argument_dict(first, default_arg)
238+
229239
def __init__(self): # [useless-super-delegation]
230240
super(UselessSuper, self).__init__()
231241

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
useless-super-delegation:191:UselessSuper.equivalent_params:Useless super delegation in method 'equivalent_params'
2-
useless-super-delegation:194:UselessSuper.equivalent_params_1:Useless super delegation in method 'equivalent_params_1'
3-
useless-super-delegation:197:UselessSuper.equivalent_params_2:Useless super delegation in method 'equivalent_params_2'
4-
useless-super-delegation:200:UselessSuper.equivalent_params_3:Useless super delegation in method 'equivalent_params_3'
5-
useless-super-delegation:203:UselessSuper.equivalent_params_4:Useless super delegation in method 'equivalent_params_4'
6-
useless-super-delegation:206:UselessSuper.equivalent_params_5:Useless super delegation in method 'equivalent_params_5'
7-
useless-super-delegation:209:UselessSuper.equivalent_params_6:Useless super delegation in method 'equivalent_params_6'
8-
useless-super-delegation:212:UselessSuper.with_default_argument:Useless super delegation in method 'with_default_argument'
9-
useless-super-delegation:216:UselessSuper.without_default_argument:Useless super delegation in method 'without_default_argument'
10-
useless-super-delegation:219:UselessSuper.with_default_argument_none:Useless super delegation in method 'with_default_argument_none'
11-
useless-super-delegation:223:UselessSuper.with_default_argument_int:Useless super delegation in method 'with_default_argument_int'
12-
useless-super-delegation:226:UselessSuper.with_default_argument_tuple:Useless super delegation in method 'with_default_argument_tuple'
13-
useless-super-delegation:229:UselessSuper.__init__:Useless super delegation in method '__init__'
14-
useless-super-delegation:232:UselessSuper.with_default_arg:Useless super delegation in method 'with_default_arg'
15-
useless-super-delegation:235:UselessSuper.with_default_arg_bis:Useless super delegation in method 'with_default_arg_bis'
16-
useless-super-delegation:238:UselessSuper.with_default_arg_ter:Useless super delegation in method 'with_default_arg_ter'
17-
useless-super-delegation:241:UselessSuper.with_default_arg_quad:Useless super delegation in method 'with_default_arg_quad'
1+
useless-super-delegation:198:UselessSuper.equivalent_params:Useless super delegation in method 'equivalent_params'
2+
useless-super-delegation:201:UselessSuper.equivalent_params_1:Useless super delegation in method 'equivalent_params_1'
3+
useless-super-delegation:204:UselessSuper.equivalent_params_2:Useless super delegation in method 'equivalent_params_2'
4+
useless-super-delegation:207:UselessSuper.equivalent_params_3:Useless super delegation in method 'equivalent_params_3'
5+
useless-super-delegation:210:UselessSuper.equivalent_params_4:Useless super delegation in method 'equivalent_params_4'
6+
useless-super-delegation:213:UselessSuper.equivalent_params_5:Useless super delegation in method 'equivalent_params_5'
7+
useless-super-delegation:216:UselessSuper.equivalent_params_6:Useless super delegation in method 'equivalent_params_6'
8+
useless-super-delegation:219:UselessSuper.with_default_argument:Useless super delegation in method 'with_default_argument'
9+
useless-super-delegation:223:UselessSuper.without_default_argument:Useless super delegation in method 'without_default_argument'
10+
useless-super-delegation:226:UselessSuper.with_default_argument_none:Useless super delegation in method 'with_default_argument_none'
11+
useless-super-delegation:230:UselessSuper.with_default_argument_int:Useless super delegation in method 'with_default_argument_int'
12+
useless-super-delegation:233:UselessSuper.with_default_argument_tuple:Useless super delegation in method 'with_default_argument_tuple'
13+
useless-super-delegation:236:UselessSuper.with_default_argument_dict:Useless super delegation in method 'with_default_argument_dict'
14+
useless-super-delegation:239:UselessSuper.__init__:Useless super delegation in method '__init__'
15+
useless-super-delegation:242:UselessSuper.with_default_arg:Useless super delegation in method 'with_default_arg'
16+
useless-super-delegation:245:UselessSuper.with_default_arg_bis:Useless super delegation in method 'with_default_arg_bis'
17+
useless-super-delegation:248:UselessSuper.with_default_arg_ter:Useless super delegation in method 'with_default_arg_ter'
18+
useless-super-delegation:251:UselessSuper.with_default_arg_quad:Useless super delegation in method 'with_default_arg_quad'

0 commit comments

Comments
 (0)