micropython/tests/micropython/viper_globals.py

20 lines
317 B
Python

# test that viper functions capture their globals context
gl = {}
exec("""
@micropython.viper
def f():
return x
""", gl)
# x is not yet in the globals, f should not see it
try:
print(gl['f']())
except NameError:
print('NameError')
# x is in globals, f should now see it
gl['x'] = 123
print(gl['f']())