aboutsummaryrefslogtreecommitdiff
path: root/tests/functional/n/none_dunder_protocols.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/n/none_dunder_protocols.py')
-rw-r--r--tests/functional/n/none_dunder_protocols.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/functional/n/none_dunder_protocols.py b/tests/functional/n/none_dunder_protocols.py
new file mode 100644
index 000000000..5573ceeb4
--- /dev/null
+++ b/tests/functional/n/none_dunder_protocols.py
@@ -0,0 +1,34 @@
+# pylint: disable=missing-docstring, too-few-public-methods,pointless-statement
+# pylint: disable=expression-not-assigned
+
+class MetaIterable(type):
+ __iter__ = None
+
+
+class MetaOldIterable(type):
+ __getitem__ = None
+
+
+class MetaContainer(type):
+ __contains__ = None
+
+
+class NonIterableClass(metaclass=MetaOldIterable):
+ __contains__ = None
+
+
+class OldNonIterableClass(metaclass=MetaOldIterable):
+ __contains__ = None
+
+
+class NonContainerClass(metaclass=MetaContainer):
+ __iter__ = None
+
+
+def test():
+ 1 in NonIterableClass # [unsupported-membership-test]
+ 1 in OldNonIterableClass # [unsupported-membership-test]
+ 1 in NonContainerClass # [unsupported-membership-test]
+ 1 in NonIterableClass() # [unsupported-membership-test]
+ 1 in OldNonIterableClass() # [unsupported-membership-test]
+ 1 in NonContainerClass() # [unsupported-membership-test]