micropython/tests/micropython/viper_with.py

29 lines
499 B
Python

# test with handling within a viper function
class C:
def __init__(self):
print('__init__')
def __enter__(self):
print('__enter__')
def __exit__(self, a, b, c):
print('__exit__', a, b, c)
# basic with
@micropython.viper
def f():
with C():
print(1)
f()
# nested with and try-except
@micropython.viper
def f():
try:
with C():
print(1)
fail
print(2)
except NameError:
print('NameError')
f()