mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
Issue 22906: Add test file.
This commit is contained in:
parent
8170e8c0d1
commit
e9ad5a57d7
1 changed files with 34 additions and 0 deletions
34
Lib/test/test_pep479.py
Normal file
34
Lib/test/test_pep479.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
from __future__ import generator_stop
|
||||||
|
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
|
||||||
|
class TestPEP479(unittest.TestCase):
|
||||||
|
def test_stopiteration_wrapping(self):
|
||||||
|
def f():
|
||||||
|
raise StopIteration
|
||||||
|
def g():
|
||||||
|
yield f()
|
||||||
|
with self.assertRaisesRegex(RuntimeError,
|
||||||
|
"generator raised StopIteration"):
|
||||||
|
next(g())
|
||||||
|
|
||||||
|
def test_stopiteration_wrapping_context(self):
|
||||||
|
def f():
|
||||||
|
raise StopIteration
|
||||||
|
def g():
|
||||||
|
yield f()
|
||||||
|
|
||||||
|
try:
|
||||||
|
next(g())
|
||||||
|
except RuntimeError as exc:
|
||||||
|
self.assertIs(type(exc.__cause__), StopIteration)
|
||||||
|
self.assertIs(type(exc.__context__), StopIteration)
|
||||||
|
self.assertTrue(exc.__suppress_context__)
|
||||||
|
else:
|
||||||
|
self.fail('__cause__, __context__, or __suppress_context__ '
|
||||||
|
'were not properly set')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest.main()
|
Loading…
Add table
Add a link
Reference in a new issue