mirror of https://github.com/python/cpython.git
gh-133213: Add tests for `string.templatelib.TemplateIter` (#133215)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
parent
94b4fcd806
commit
0e21ed7c09
|
@ -1,5 +1,6 @@
|
||||||
import pickle
|
import pickle
|
||||||
import unittest
|
import unittest
|
||||||
|
from collections.abc import Iterator, Iterable
|
||||||
from string.templatelib import Template, Interpolation
|
from string.templatelib import Template, Interpolation
|
||||||
|
|
||||||
from test.test_string._support import TStringBaseCase, fstring
|
from test.test_string._support import TStringBaseCase, fstring
|
||||||
|
@ -125,5 +126,28 @@ def test_pickle_interpolation(self):
|
||||||
self.assertEqual(unpickled.format_spec, interpolation.format_spec)
|
self.assertEqual(unpickled.format_spec, interpolation.format_spec)
|
||||||
|
|
||||||
|
|
||||||
|
class TemplateIterTests(unittest.TestCase):
|
||||||
|
def test_abc(self):
|
||||||
|
self.assertIsInstance(iter(t''), Iterable)
|
||||||
|
self.assertIsInstance(iter(t''), Iterator)
|
||||||
|
|
||||||
|
def test_final(self):
|
||||||
|
TemplateIter = type(iter(t''))
|
||||||
|
with self.assertRaisesRegex(TypeError, 'is not an acceptable base type'):
|
||||||
|
class Sub(TemplateIter): ...
|
||||||
|
|
||||||
|
def test_iter(self):
|
||||||
|
x = 1
|
||||||
|
res = list(iter(t'abc {x} yz'))
|
||||||
|
|
||||||
|
self.assertEqual(res[0], 'abc ')
|
||||||
|
self.assertIsInstance(res[1], Interpolation)
|
||||||
|
self.assertEqual(res[1].value, 1)
|
||||||
|
self.assertEqual(res[1].expression, 'x')
|
||||||
|
self.assertEqual(res[1].conversion, None)
|
||||||
|
self.assertEqual(res[1].format_spec, '')
|
||||||
|
self.assertEqual(res[2], ' yz')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Reference in New Issue