Skip to content

Commit

Permalink
Modify tests for arguments-differ
Browse files Browse the repository at this point in the history
This commit modifies the tests of arguments-differ output messages based on different error messages.
It is part one of the issue pylint-dev#3536
  • Loading branch information
ksaketou committed Apr 29, 2021
1 parent d11a738 commit 4faf101
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 22 deletions.
34 changes: 18 additions & 16 deletions tests/functional/a/arguments_differ.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@

class Parent(object):

def test(self):
def test(self, arg: bool):
pass


class Child(Parent):

def test(self, arg): # [arguments-differ]
def test(self, arg: int): #[arguments-differ]
pass


Expand All @@ -27,7 +27,7 @@ def test(self, arg=None): # [arguments-differ]
class Classmethod(object):

@classmethod
def func(cls, data):
def func(cls, data: str):
return data

@classmethod
Expand Down Expand Up @@ -56,20 +56,20 @@ def fromkeys(cls, arg, arg1):

class Varargs(object):

def has_kwargs(self, arg, **kwargs):
def has_kwargs(self, arg: bool, **kwargs):
pass

def no_kwargs(self, args):
def no_kwargs(self, args: bool):
pass


class VarargsChild(Varargs):

def has_kwargs(self, arg): # [arguments-differ]
"Not okay to lose capabilities."
def has_kwargs(self, arg: int): #[arguments-differ, arguments-differ]
"Not okay to lose capabilities. Also, type has changed."

def no_kwargs(self, arg, **kwargs): # [arguments-differ]
"Not okay to add extra capabilities."
def no_kwargs(self, arg: bool, **kwargs): # [arguments-differ]
"Addition of kwargs does not violate LSP, but first argument's name has changed."


class Super(object):
Expand Down Expand Up @@ -111,14 +111,14 @@ def method(self, param='abc'):
class Staticmethod(object):

@staticmethod
def func(data):
def func(data: int):
return data


class StaticmethodChild(Staticmethod):

@classmethod
def func(cls, data):
def func(cls, data: str):
return data


Expand Down Expand Up @@ -169,7 +169,7 @@ def test(self, *args):

class SecondChangesArgs(FirstHasArgs):

def test(self, first, second, *args): # [arguments-differ]
def test(self, first: int, second: int, *args): # [arguments-differ]
pass


Expand Down Expand Up @@ -213,23 +213,25 @@ def mixed(self, first, *args, third, **kwargs):

class HasSpecialMethod(object):

def __getitem__(self, key):
def __getitem__(self, key: int):
return key


class OverridesSpecialMethod(HasSpecialMethod):

def __getitem__(self, cheie):
def __getitem__(self, cheie: int): #[arguments-differ]
return cheie + 1


class ParentClass(object):

def meth(self, arg, arg1):
def meth(self, arg: str, arg1: str):
raise NotImplementedError


class ChildClass(ParentClass):

def meth(self, _arg, dummy):
def meth(self, _arg: str, dummy: str):
# no error here, "dummy" and "_" are being ignored if
# spotted in a variable name (declared in dummy_parameter_regex)
pass
14 changes: 8 additions & 6 deletions tests/functional/a/arguments_differ.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
arguments-differ:12:4:Child.test:Parameters differ from overridden 'test' method
arguments-differ:23:4:ChildDefaults.test:Parameters differ from overridden 'test' method
arguments-differ:41:4:ClassmethodChild.func:Parameters differ from overridden 'func' method
arguments-differ:68:4:VarargsChild.has_kwargs:Parameters differ from overridden 'has_kwargs' method
arguments-differ:71:4:VarargsChild.no_kwargs:Parameters differ from overridden 'no_kwargs' method
arguments-differ:172:4:SecondChangesArgs.test:Parameters differ from overridden 'test' method
arguments-differ:12:4:Child.test:Parameter 'arg' was of type 'bool' and is now of type 'int' in overridden 'Child.test' method
arguments-differ:23:4:ChildDefaults.test:Number of parameters has changed in overridden 'ChildDefaults.test' method
arguments-differ:41:4:ClassmethodChild.func:Number of parameters has changed in overridden 'ClassmethodChild.func' method
arguments-differ:68:4:VarargsChild.has_kwargs:Parameter 'arg' was of type 'bool' and is now of type 'int' in overridden 'VarargsChild.has_kwargs' method
arguments-differ:68:4:VarargsChild.has_kwargs:Variadics removed in overridden 'VarargsChild.has_kwargs' method
arguments-differ:71:4:VarargsChild.no_kwargs:Parameter 'args' has been renamed in overridden 'VarargsChild.no_kwargs' method
arguments-differ:172:4:SecondChangesArgs.test:Number of parameters has changed in overridden 'SecondChangesArgs.test' method
arguments-differ:222:4:OverridesSpecialMethod.__getitem__:Parameter 'key' has been renamed in overridden 'OverridesSpecialMethod.__getitem__' method

0 comments on commit 4faf101

Please sign in to comment.