Skip to content

Commit 08e387a

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

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
@@ -3818,6 +3818,19 @@ def test_namedtuple_special_keyword_names(self):
38183818
self.assertEqual(a.typename, 'foo')
38193819
self.assertEqual(a.fields, [('bar', tuple)])
38203820

3821+
def test_empty_namedtuple(self):
3822+
NT = NamedTuple('NT')
3823+
3824+
class CNT(NamedTuple):
3825+
pass # empty body
3826+
3827+
for struct in [NT, CNT]:
3828+
with self.subTest(struct=struct):
3829+
self.assertEqual(struct._fields, ())
3830+
self.assertEqual(struct._field_defaults, {})
3831+
self.assertEqual(struct.__annotations__, {})
3832+
self.assertIsInstance(struct(), struct)
3833+
38213834
def test_namedtuple_errors(self):
38223835
with self.assertRaises(TypeError):
38233836
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)