circuitpython/tests/basics/fun_name.py
Damien George 268ec1e3eb tests/basics: Add tests for __name__ and __globals__ attrs on closures.
Signed-off-by: Damien George <damien@micropython.org>
2022-06-24 23:55:13 +10:00

35 lines
670 B
Python

def Fun():
pass
class A:
def __init__(self):
pass
def Fun(self):
pass
try:
print(Fun.__name__)
print(A.__init__.__name__)
print(A.Fun.__name__)
print(A().Fun.__name__)
except AttributeError:
print('SKIP')
raise SystemExit
# __name__ of a bound native method is not implemented in uPy
# the test here is to make sure it doesn't crash
try:
str((1).to_bytes.__name__)
except AttributeError:
pass
# name of a function that has closed over variables
# and also the name of the inner closure
def outer():
x = 1
def inner():
return x
return inner
print(outer.__name__)
print(outer().__name__)