diff options
author | Damien George <damien.p.george@gmail.com> | 2016-04-13 15:27:06 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-04-13 15:27:06 +0100 |
commit | c33df193bfbc09dc5c3b62db6507ad1a79e92ea6 (patch) | |
tree | 8085372975f5fe96a850a75aeec2340f31256dc1 /tests/basics/async_for.py | |
parent | eacbd7aeba3bdd634b56af544e40da87779f4a95 (diff) | |
download | micropython-c33df193bfbc09dc5c3b62db6507ad1a79e92ea6.tar.gz micropython-c33df193bfbc09dc5c3b62db6507ad1a79e92ea6.zip |
tests: Add 6 tests for async await/for/with.
Diffstat (limited to 'tests/basics/async_for.py')
-rw-r--r-- | tests/basics/async_for.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/basics/async_for.py b/tests/basics/async_for.py new file mode 100644 index 0000000000..6b4e136d59 --- /dev/null +++ b/tests/basics/async_for.py @@ -0,0 +1,29 @@ +# test basic async for execution +# example taken from PEP0492 + +class AsyncIteratorWrapper: + def __init__(self, obj): + print('init') + self._it = iter(obj) + + async def __aiter__(self): + print('aiter') + return self + + async def __anext__(self): + print('anext') + try: + value = next(self._it) + except StopIteration: + raise StopAsyncIteration + return value + +async def coro(): + async for letter in AsyncIteratorWrapper('abc'): + print(letter) + +o = coro() +try: + o.send(None) +except StopIteration: + print('finished') |