Skip to content

Commit d452b29

Browse files
bpo-45280: Add test for empty NamedTuple in test_typing (GH-28559) (GH-28571)
Co-authored-by: Dong-hee Na <[email protected]> (cherry picked from commit f56268a) Co-authored-by: Nikita Sobolev <[email protected]>
1 parent c523022 commit d452b29

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

Lib/test/test_typing.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4081,6 +4081,19 @@ def test_namedtuple_special_keyword_names(self):
40814081
self.assertEqual(a.typename, 'foo')
40824082
self.assertEqual(a.fields, [('bar', tuple)])
40834083

4084+
def test_empty_namedtuple(self):
4085+
NT = NamedTuple('NT')
4086+
4087+
class CNT(NamedTuple):
4088+
pass # empty body
4089+
4090+
for struct in [NT, CNT]:
4091+
with self.subTest(struct=struct):
4092+
self.assertEqual(struct._fields, ())
4093+
self.assertEqual(struct._field_defaults, {})
4094+
self.assertEqual(struct.__annotations__, {})
4095+
self.assertIsInstance(struct(), struct)
4096+
40844097
def test_namedtuple_errors(self):
40854098
with self.assertRaises(TypeError):
40864099
NamedTuple.__new__()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add a test case for empty :class:`typing.NamedTuple`.

0 commit comments

Comments
 (0)