mirror of https://github.com/python/cpython.git
[3.11] GH-87390: Add remaining tests for PEP 646 (GH-98267) (#98667)
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>.
Co-authored-by: Matthew Rahtz <matthew.rahtz@gmail.com>
(cherry picked from commit cb95cc24ef
)
This commit is contained in:
parent
18b788c63a
commit
83c8df29dd
|
@ -203,23 +203,11 @@ class MyList(list):
|
|||
self.assertEqual(repr(list[str]), 'list[str]')
|
||||
self.assertEqual(repr(list[()]), 'list[()]')
|
||||
self.assertEqual(repr(tuple[int, ...]), 'tuple[int, ...]')
|
||||
x1 = tuple[
|
||||
tuple( # Effectively the same as starring; TODO
|
||||
tuple[int]
|
||||
)
|
||||
]
|
||||
x1 = tuple[*tuple[int]]
|
||||
self.assertEqual(repr(x1), 'tuple[*tuple[int]]')
|
||||
x2 = tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[int, str]
|
||||
)
|
||||
]
|
||||
x2 = tuple[*tuple[int, str]]
|
||||
self.assertEqual(repr(x2), 'tuple[*tuple[int, str]]')
|
||||
x3 = tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[int, ...]
|
||||
)
|
||||
]
|
||||
x3 = tuple[*tuple[int, ...]]
|
||||
self.assertEqual(repr(x3), 'tuple[*tuple[int, ...]]')
|
||||
self.assertTrue(repr(MyList[int]).endswith('.BaseTest.test_repr.<locals>.MyList[int]'))
|
||||
self.assertEqual(repr(list[str]()), '[]') # instances should keep their normal repr
|
||||
|
@ -273,42 +261,24 @@ def test_parameters(self):
|
|||
self.assertEqual(L5.__args__, (Callable[[K, V], K],))
|
||||
self.assertEqual(L5.__parameters__, (K, V))
|
||||
|
||||
T1 = tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[int]
|
||||
)
|
||||
]
|
||||
T1 = tuple[*tuple[int]]
|
||||
self.assertEqual(
|
||||
T1.__args__,
|
||||
tuple( # Ditto TODO
|
||||
tuple[int]
|
||||
)
|
||||
(*tuple[int],),
|
||||
)
|
||||
self.assertEqual(T1.__parameters__, ())
|
||||
|
||||
T2 = tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[T]
|
||||
)
|
||||
]
|
||||
T2 = tuple[*tuple[T]]
|
||||
self.assertEqual(
|
||||
T2.__args__,
|
||||
tuple( # Ditto TODO
|
||||
tuple[T]
|
||||
)
|
||||
(*tuple[T],),
|
||||
)
|
||||
self.assertEqual(T2.__parameters__, (T,))
|
||||
|
||||
T4 = tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[int, str]
|
||||
)
|
||||
]
|
||||
T4 = tuple[*tuple[int, str]]
|
||||
self.assertEqual(
|
||||
T4.__args__,
|
||||
tuple( # Ditto TODO
|
||||
tuple[int, str]
|
||||
)
|
||||
(*tuple[int, str],),
|
||||
)
|
||||
self.assertEqual(T4.__parameters__, ())
|
||||
|
||||
|
@ -343,18 +313,7 @@ def test_equality(self):
|
|||
self.assertEqual(list[int], list[int])
|
||||
self.assertEqual(dict[str, int], dict[str, int])
|
||||
self.assertEqual((*tuple[int],)[0], (*tuple[int],)[0])
|
||||
self.assertEqual(
|
||||
tuple[
|
||||
tuple( # Effectively the same as starring; TODO
|
||||
tuple[int]
|
||||
)
|
||||
],
|
||||
tuple[
|
||||
tuple( # Ditto TODO
|
||||
tuple[int]
|
||||
)
|
||||
]
|
||||
)
|
||||
self.assertEqual(tuple[*tuple[int]], tuple[*tuple[int]])
|
||||
self.assertNotEqual(dict[str, int], dict[str, str])
|
||||
self.assertNotEqual(list, list[int])
|
||||
self.assertNotEqual(list[int], list)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
Add tests for star-unpacking with PEP 646, and some other miscellaneous PEP 646 tests.
|
Loading…
Reference in New Issue