diff options
Diffstat (limited to 'tests/micropython/native_with.py')
-rw-r--r-- | tests/micropython/native_with.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/micropython/native_with.py b/tests/micropython/native_with.py new file mode 100644 index 000000000..343f3e8d3 --- /dev/null +++ b/tests/micropython/native_with.py @@ -0,0 +1,28 @@ +# test with handling within a native 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.native +def f(): + with C(): + print(1) +f() + +# nested with and try-except +@micropython.native +def f(): + try: + with C(): + print(1) + fail + print(2) + except NameError: + print('NameError') +f() |