micropython: add micropython component
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
def gen1():
|
||||
yield 1
|
||||
yield 2
|
||||
|
||||
# Test that it's possible to close just created gen
|
||||
g = gen1()
|
||||
print(g.close())
|
||||
try:
|
||||
next(g)
|
||||
except StopIteration:
|
||||
print("StopIteration")
|
||||
|
||||
# Test that it's possible to close gen in progress
|
||||
g = gen1()
|
||||
print(next(g))
|
||||
print(g.close())
|
||||
try:
|
||||
next(g)
|
||||
print("No StopIteration")
|
||||
except StopIteration:
|
||||
print("StopIteration")
|
||||
|
||||
# Test that it's possible to close finished gen
|
||||
g = gen1()
|
||||
print(list(g))
|
||||
print(g.close())
|
||||
try:
|
||||
next(g)
|
||||
print("No StopIteration")
|
||||
except StopIteration:
|
||||
print("StopIteration")
|
||||
|
||||
|
||||
# Throwing GeneratorExit in response to close() is ok
|
||||
def gen2():
|
||||
try:
|
||||
yield 1
|
||||
yield 2
|
||||
except:
|
||||
print('raising GeneratorExit')
|
||||
raise GeneratorExit
|
||||
|
||||
g = gen2()
|
||||
next(g)
|
||||
print(g.close())
|
||||
|
||||
# Any other exception is propagated to the .close() caller
|
||||
def gen3():
|
||||
try:
|
||||
yield 1
|
||||
yield 2
|
||||
except:
|
||||
raise ValueError
|
||||
|
||||
g = gen3()
|
||||
next(g)
|
||||
try:
|
||||
print(g.close())
|
||||
except ValueError:
|
||||
print("ValueError")
|
Reference in New Issue
Block a user