diff options
Diffstat (limited to 'pylint/test/functional/member_checks.py')
-rw-r--r-- | pylint/test/functional/member_checks.py | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/pylint/test/functional/member_checks.py b/pylint/test/functional/member_checks.py new file mode 100644 index 0000000..78c4625 --- /dev/null +++ b/pylint/test/functional/member_checks.py @@ -0,0 +1,63 @@ +# pylint: disable=print-statement +"""check getattr if inference succeed""" + + +class Provider(object): + """provide some attributes and method""" + cattr = 4 + def __init__(self): + self.attr = 4 + def method(self, val): + """impressive method""" + return self.attr * val + def hophop(self): + """hop method""" + print 'hop hop hop', self + + +class Client(object): + """use provider class""" + + def __init__(self): + self._prov = Provider() + self._prov_attr = Provider.cattr + self._prov_attr2 = Provider.cattribute # [no-member] + self.set_later = 0 + + def set_set_later(self, value): + """set set_later attribute (introduce an inference ambiguity)""" + self.set_later = value + + def use_method(self): + """use provider's method""" + self._prov.hophop() + self._prov.hophophop() # [no-member] + + def use_attr(self): + """use provider's attr""" + print self._prov.attr + print self._prov.attribute # [no-member] + + def debug(self): + """print debug information""" + print self.__class__.__name__ + print self.__doc__ + print self.__dict__ + print self.__module__ + + def test_bt_types(self): + """test access to unexistant member of builtin types""" + lis = [] + lis.apppend(self) # [no-member] + dic = {} + dic.set(self) # [no-member] + tup = () + tup.append(self) # [no-member] + string = 'toto' + print string.loower() # [no-member] + integer = 1 + print integer.whatever # [no-member] + +print object.__init__ +print property.__init__ +print Client().set_later.lower() # [no-member] |