summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2014-04-14 03:52:01 (GMT)
committerBenjamin Peterson <benjamin@python.org>2014-04-14 03:52:01 (GMT)
commitf6e50b4a811477206d1c252a531c31029ea93866 (patch)
treecd2487f0cdeef93232b336fa63c28f0ed42cc2ac /Lib
parent584f5cbf16980f21c58bf7ce7e451e022355fa3d (diff)
downloadcpython-f6e50b4a811477206d1c252a531c31029ea93866.zip
cpython-f6e50b4a811477206d1c252a531c31029ea93866.tar.gz
cpython-f6e50b4a811477206d1c252a531c31029ea93866.tar.bz2
fix sending tuples to custom generator objects with yield from (closes #21209)
Debugged by Victor.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_pep380.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_pep380.py b/Lib/test/test_pep380.py
index 4a43b7d..69194df 100644
--- a/Lib/test/test_pep380.py
+++ b/Lib/test/test_pep380.py
@@ -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