kuroko/test/testContextManagerEarlyReturn.krk

36 lines
783 B
Python

from fileio import open
class ContextManager:
def __init__(title):
self.title = title
def __enter__():
print("Enter context manager", self.title)
def __exit__(type,value,traceback):
print("Exit context manager", self.title)
def doesThing():
print("Creating CM")
let cm = ContextManager('simple')
with cm:
print("In context manager")
return 42
print("Not exiting correctly?")
return "oh no"
print(doesThing())
def doesANestedThing():
with ContextManager('outer'):
with ContextManager('inner'):
with ContextManager('triple'):
return 42
print('Should not print')
print('Should not print')
print('Should not print')
print(doesANestedThing())