tests/basics: Add tests to test repeated throw into the same generator.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
038125be79
commit
0619f261a8
22
tests/basics/gen_yield_from_throw_repeat.py
Normal file
22
tests/basics/gen_yield_from_throw_repeat.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Test throwing repeatedly into the same generator, where that generator
|
||||||
|
# is yielding from another generator.
|
||||||
|
|
||||||
|
|
||||||
|
def yielder():
|
||||||
|
yield 4
|
||||||
|
yield 5
|
||||||
|
|
||||||
|
|
||||||
|
def gen():
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
print("gen received:", (yield from yielder()))
|
||||||
|
except ValueError as exc:
|
||||||
|
print(repr(exc))
|
||||||
|
|
||||||
|
|
||||||
|
g = gen()
|
||||||
|
for i in range(2):
|
||||||
|
print("send, got:", g.send(None))
|
||||||
|
print("throw, got:", g.throw(ValueError("a", i)))
|
||||||
|
print("throw, got:", g.throw(ValueError("b", i)))
|
||||||
16
tests/basics/generator_throw_repeat.py
Normal file
16
tests/basics/generator_throw_repeat.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# Test throwing repeatedly into the same generator.
|
||||||
|
|
||||||
|
|
||||||
|
def gen():
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
print("gen received:", (yield "value"))
|
||||||
|
except ValueError as exc:
|
||||||
|
print(repr(exc))
|
||||||
|
|
||||||
|
|
||||||
|
g = gen()
|
||||||
|
for i in range(2):
|
||||||
|
print("send, got:", g.send(None))
|
||||||
|
print("throw, got:", g.throw(ValueError("a", i)))
|
||||||
|
print("throw, got:", g.throw(ValueError("b", i)))
|
||||||
Loading…
x
Reference in New Issue
Block a user