fix sending tuples to custom generator objects with yield from (closes #21209)

Debugged by Victor.
This commit is contained in:
Benjamin Peterson 2014-04-13 23:52:01 -04:00
parent 584f5cbf16
commit f6e50b4a81
3 changed files with 23 additions and 1 deletions

View file

@ -993,6 +993,25 @@ class TestPEP380Operation(unittest.TestCase):
del inner_gen
gc_collect()
def test_send_tuple_with_custom_generator(self):
# See issue #21209.
class MyGen:
def __iter__(self):
return self
def __next__(self):
return 42
def send(self, what):
nonlocal v
v = what
return None
def outer():
v = yield from MyGen()
g = outer()
next(g)
v = None
g.send((1, 2, 3, 4))
self.assertEqual(v, (1, 2, 3, 4))
def test_main():
from test import support