micropython/tests/micropython/viper_with.py

38 wiersze
508 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()