circuitpython/tests/micropython/viper_with.py

37 lines
507 B
Python
Raw Normal View History

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