blob: cb7267ce593788128830adfe03853a9bacbe2589 [file] [log] [blame]
""" Various tests for class members access. """
# pylint: disable=too-few-public-methods,import-error,no-init,missing-docstring, wrong-import-position,wrong-import-order, useless-object-inheritance
from missing import Missing
class MyClass(object):
"""class docstring"""
def __init__(self):
"""init"""
self.correct = 1
def test(self):
"""test"""
self.correct += 2
self.incorrect += 2 # [no-member]
del self.havenot # [no-member]
self.nonexistent1.truc() # [no-member]
self.nonexistent2[1] = 'hehe' # [no-member]
class XYZMixin(object):
"""access to undefined members should be ignored in mixin classes by
default
"""
def __init__(self):
print(self.nonexistent)
class NewClass(object):
"""use object.__setattr__"""
def __init__(self):
self.__setattr__('toto', 'tutu')
from abc import ABCMeta
class TestMetaclass(object, metaclass=ABCMeta):
""" Test attribute access for metaclasses. """
class Metaclass(type):
""" metaclass """
@classmethod
def test(cls):
""" classmethod """
class UsingMetaclass(object, metaclass=Metaclass):
""" empty """
TestMetaclass.register(int)
UsingMetaclass.test()
TestMetaclass().register(int) # [no-member]
UsingMetaclass().test() # [no-member]
class NoKnownBases(Missing):
"""Don't emit no-member if we don't know the bases of a class."""
NoKnownBases().lalala()
class MetaClass(object):
"""Look some methods in the implicit metaclass."""
@classmethod
def whatever(cls):
return cls.mro() + cls.missing() # [no-member]
from collections import namedtuple
Tuple = namedtuple("Tuple", "field other")
Tuple.field.__doc__ = "A doc for the field."