micropython: add micropython component
This commit is contained in:
39
components/language/micropython/tests/basics/async_with.py
Normal file
39
components/language/micropython/tests/basics/async_with.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# test simple async with execution
|
||||
|
||||
class AContext:
|
||||
async def __aenter__(self):
|
||||
print('enter')
|
||||
return 1
|
||||
async def __aexit__(self, exc_type, exc, tb):
|
||||
print('exit', exc_type, exc)
|
||||
|
||||
async def f():
|
||||
async with AContext():
|
||||
print('body')
|
||||
|
||||
o = f()
|
||||
try:
|
||||
o.send(None)
|
||||
except StopIteration:
|
||||
print('finished')
|
||||
|
||||
async def g():
|
||||
async with AContext() as ac:
|
||||
print(ac)
|
||||
raise ValueError('error')
|
||||
|
||||
o = g()
|
||||
try:
|
||||
o.send(None)
|
||||
except ValueError:
|
||||
print('ValueError')
|
||||
|
||||
# test raising BaseException to make sure it is handled by the async-with
|
||||
async def h():
|
||||
async with AContext():
|
||||
raise BaseException
|
||||
o = h()
|
||||
try:
|
||||
o.send(None)
|
||||
except BaseException:
|
||||
print('BaseException')
|
Reference in New Issue
Block a user