Skip to content

Commit 83c8df2

Browse files
[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 cb95cc2)
1 parent 18b788c commit 83c8df2

File tree

3 files changed

+489
-241
lines changed

3 files changed

+489
-241
lines changed

Lib/test/test_genericalias.py

+10-51
Original file line numberDiff line numberDiff line change
@@ -203,23 +203,11 @@ class MyList(list):
203203
self.assertEqual(repr(list[str]), 'list[str]')
204204
self.assertEqual(repr(list[()]), 'list[()]')
205205
self.assertEqual(repr(tuple[int, ...]), 'tuple[int, ...]')
206-
x1 = tuple[
207-
tuple( # Effectively the same as starring; TODO
208-
tuple[int]
209-
)
210-
]
206+
x1 = tuple[*tuple[int]]
211207
self.assertEqual(repr(x1), 'tuple[*tuple[int]]')
212-
x2 = tuple[
213-
tuple( # Ditto TODO
214-
tuple[int, str]
215-
)
216-
]
208+
x2 = tuple[*tuple[int, str]]
217209
self.assertEqual(repr(x2), 'tuple[*tuple[int, str]]')
218-
x3 = tuple[
219-
tuple( # Ditto TODO
220-
tuple[int, ...]
221-
)
222-
]
210+
x3 = tuple[*tuple[int, ...]]
223211
self.assertEqual(repr(x3), 'tuple[*tuple[int, ...]]')
224212
self.assertTrue(repr(MyList[int]).endswith('.BaseTest.test_repr.<locals>.MyList[int]'))
225213
self.assertEqual(repr(list[str]()), '[]') # instances should keep their normal repr
@@ -273,42 +261,24 @@ def test_parameters(self):
273261
self.assertEqual(L5.__args__, (Callable[[K, V], K],))
274262
self.assertEqual(L5.__parameters__, (K, V))
275263

276-
T1 = tuple[
277-
tuple( # Ditto TODO
278-
tuple[int]
279-
)
280-
]
264+
T1 = tuple[*tuple[int]]
281265
self.assertEqual(
282266
T1.__args__,
283-
tuple( # Ditto TODO
284-
tuple[int]
285-
)
267+
(*tuple[int],),
286268
)
287269
self.assertEqual(T1.__parameters__, ())
288270

289-
T2 = tuple[
290-
tuple( # Ditto TODO
291-
tuple[T]
292-
)
293-
]
271+
T2 = tuple[*tuple[T]]
294272
self.assertEqual(
295273
T2.__args__,
296-
tuple( # Ditto TODO
297-
tuple[T]
298-
)
274+
(*tuple[T],),
299275
)
300276
self.assertEqual(T2.__parameters__, (T,))
301277

302-
T4 = tuple[
303-
tuple( # Ditto TODO
304-
tuple[int, str]
305-
)
306-
]
278+
T4 = tuple[*tuple[int, str]]
307279
self.assertEqual(
308280
T4.__args__,
309-
tuple( # Ditto TODO
310-
tuple[int, str]
311-
)
281+
(*tuple[int, str],),
312282
)
313283
self.assertEqual(T4.__parameters__, ())
314284

@@ -343,18 +313,7 @@ def test_equality(self):
343313
self.assertEqual(list[int], list[int])
344314
self.assertEqual(dict[str, int], dict[str, int])
345315
self.assertEqual((*tuple[int],)[0], (*tuple[int],)[0])
346-
self.assertEqual(
347-
tuple[
348-
tuple( # Effectively the same as starring; TODO
349-
tuple[int]
350-
)
351-
],
352-
tuple[
353-
tuple( # Ditto TODO
354-
tuple[int]
355-
)
356-
]
357-
)
316+
self.assertEqual(tuple[*tuple[int]], tuple[*tuple[int]])
358317
self.assertNotEqual(dict[str, int], dict[str, str])
359318
self.assertNotEqual(list, list[int])
360319
self.assertNotEqual(list[int], list)

0 commit comments

Comments
 (0)