summaryrefslogtreecommitdiff
path: root/tests/functional/i/iterable_context_py3.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional/i/iterable_context_py3.py')
-rw-r--r--tests/functional/i/iterable_context_py3.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/functional/i/iterable_context_py3.py b/tests/functional/i/iterable_context_py3.py
new file mode 100644
index 000000000..34047eda0
--- /dev/null
+++ b/tests/functional/i/iterable_context_py3.py
@@ -0,0 +1,55 @@
+"""
+Checks that iterable metaclasses are recognized by pylint.
+"""
+# pylint: disable=missing-docstring,too-few-public-methods,no-init,no-self-use,unused-argument,bad-mcs-method-argument
+# pylint: disable=wrong-import-position
+# metaclasses as iterables
+class Meta(type):
+ def __iter__(self):
+ return iter((1, 2, 3))
+
+class SomeClass(metaclass=Meta):
+ pass
+
+
+for i in SomeClass:
+ print(i)
+for i in SomeClass(): # [not-an-iterable]
+ print(i)
+
+
+import asyncio
+
+
+@asyncio.coroutine
+def coroutine_function_return_none():
+ return
+
+
+@asyncio.coroutine
+def coroutine_function_return_object():
+ return 12
+
+
+@asyncio.coroutine
+def coroutine_function_return_future():
+ return asyncio.Future()
+
+
+@asyncio.coroutine
+def coroutine_function_pass():
+ pass
+
+
+@asyncio.coroutine
+def coroutine_generator():
+ yield
+
+
+@asyncio.coroutine
+def main():
+ yield from coroutine_function_return_none()
+ yield from coroutine_function_return_object()
+ yield from coroutine_function_return_future()
+ yield from coroutine_function_pass()
+ yield from coroutine_generator()