diff options
Diffstat (limited to 'tests/functional/a/access/access_to_protected_members.py')
-rw-r--r-- | tests/functional/a/access/access_to_protected_members.py | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/functional/a/access/access_to_protected_members.py b/tests/functional/a/access/access_to_protected_members.py index ffbfabf15..7d732dcc5 100644 --- a/tests/functional/a/access/access_to_protected_members.py +++ b/tests/functional/a/access/access_to_protected_members.py @@ -211,3 +211,67 @@ class Issue1159Subclass(Issue1159): instance = Issue1159OtherClass() instance._bar = 3 # [protected-access] _ = instance._foo # [protected-access] + + +class Issue3066: + """Test for GitHub issue 3066 + Accessing of attributes/methods of inner and outer classes + https://github.com/PyCQA/pylint/issues/3066""" + + attr = 0 + _attr = 1 + + @staticmethod + def _bar(i): + """Docstring.""" + + @staticmethod + def foobar(i): + """Test access from outer class""" + Issue3066._attr = 2 + Issue3066.Aclass._attr = "y" # [protected-access] + Issue3066.Aclass.Bclass._attr = "b" # [protected-access] + + Issue3066._bar(i) + Issue3066.Aclass._bar(i) # [protected-access] + Issue3066.Aclass.Bclass._bar(i) # [protected-access] + + class Aclass: + """Inner class for GitHub issue 3066""" + + _attr = "x" + + @staticmethod + def foobar(i): + """Test access from inner class""" + Issue3066._attr = 2 # [protected-access] + Issue3066.Aclass._attr = "y" + Issue3066.Aclass.Bclass._attr = "b" # [protected-access] + + Issue3066._bar(i) # [protected-access] + Issue3066.Aclass._bar(i) + Issue3066.Aclass.Bclass._bar(i) # [protected-access] + + @staticmethod + def _bar(i): + """Docstring.""" + + class Bclass: + """Inner inner class for GitHub issue 3066""" + + _attr = "a" + + @staticmethod + def foobar(i): + """Test access from inner inner class""" + Issue3066._attr = 2 # [protected-access] + Issue3066.Aclass._attr = "y" # [protected-access] + Issue3066.Aclass.Bclass._attr = "b" + + Issue3066._bar(i) # [protected-access] + Issue3066.Aclass._bar(i) # [protected-access] + Issue3066.Aclass.Bclass._bar(i) + + @staticmethod + def _bar(i): + """Docstring.""" |