Skip to content

Commit 36f4d30

Browse files
authored
Update test_tuple.py from 3.13.5 (#5966)
1 parent 4fe4ff4 commit 36f4d30

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Lib/test/test_tuple.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,35 @@ def test_keyword_args(self):
4242
with self.assertRaisesRegex(TypeError, 'keyword argument'):
4343
tuple(sequence=())
4444

45+
# TODO: RUSTPYTHON
46+
@unittest.expectedFailure
47+
def test_keywords_in_subclass(self):
48+
class subclass(tuple):
49+
pass
50+
u = subclass([1, 2])
51+
self.assertIs(type(u), subclass)
52+
self.assertEqual(list(u), [1, 2])
53+
with self.assertRaises(TypeError):
54+
subclass(sequence=())
55+
56+
class subclass_with_init(tuple):
57+
def __init__(self, arg, newarg=None):
58+
self.newarg = newarg
59+
u = subclass_with_init([1, 2], newarg=3)
60+
self.assertIs(type(u), subclass_with_init)
61+
self.assertEqual(list(u), [1, 2])
62+
self.assertEqual(u.newarg, 3)
63+
64+
class subclass_with_new(tuple):
65+
def __new__(cls, arg, newarg=None):
66+
self = super().__new__(cls, arg)
67+
self.newarg = newarg
68+
return self
69+
u = subclass_with_new([1, 2], newarg=3)
70+
self.assertIs(type(u), subclass_with_new)
71+
self.assertEqual(list(u), [1, 2])
72+
self.assertEqual(u.newarg, 3)
73+
4574
def test_truth(self):
4675
super().test_truth()
4776
self.assertTrue(not ())

0 commit comments

Comments
 (0)