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…
Reference in New Issue
Block a user