mirror of
https://github.com/python/cpython.git
synced 2025-07-30 22:54:16 +00:00
Issue #2333: Backport set and dict comprehensions syntax.
This commit is contained in:
parent
0ca7452794
commit
b646547bb4
26 changed files with 1296 additions and 352 deletions
|
@ -76,9 +76,20 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
|
|||
self.check_expr("[x**3 for x in range(20)]")
|
||||
self.check_expr("[x**3 for x in range(20) if x % 3]")
|
||||
self.check_expr("[x**3 for x in range(20) if x % 2 if x % 3]")
|
||||
self.check_expr("[x+y for x in range(30) for y in range(20) if x % 2 if y % 3]")
|
||||
#self.check_expr("[x for x in lambda: True, lambda: False if x()]")
|
||||
self.check_expr("list(x**3 for x in range(20))")
|
||||
self.check_expr("list(x**3 for x in range(20) if x % 3)")
|
||||
self.check_expr("list(x**3 for x in range(20) if x % 2 if x % 3)")
|
||||
self.check_expr("list(x+y for x in range(30) for y in range(20) if x % 2 if y % 3)")
|
||||
self.check_expr("{x**3 for x in range(30)}")
|
||||
self.check_expr("{x**3 for x in range(30) if x % 3}")
|
||||
self.check_expr("{x**3 for x in range(30) if x % 2 if x % 3}")
|
||||
self.check_expr("{x+y for x in range(30) for y in range(20) if x % 2 if y % 3}")
|
||||
self.check_expr("{x**3: y**2 for x, y in zip(range(30), range(30))}")
|
||||
self.check_expr("{x**3: y**2 for x, y in zip(range(30), range(30)) if x % 3}")
|
||||
self.check_expr("{x**3: y**2 for x, y in zip(range(30), range(30)) if x % 3 if y % 3}")
|
||||
self.check_expr("{x:y for x in range(30) for y in range(20) if x % 2 if y % 3}")
|
||||
self.check_expr("foo(*args)")
|
||||
self.check_expr("foo(*args, **kw)")
|
||||
self.check_expr("foo(**kw)")
|
||||
|
@ -107,6 +118,7 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase):
|
|||
self.check_expr("lambda foo=bar, blaz=blat+2, **z: 0")
|
||||
self.check_expr("lambda foo=bar, blaz=blat+2, *y, **z: 0")
|
||||
self.check_expr("lambda x, *y, **z: 0")
|
||||
self.check_expr("lambda x: 5 if x else 2")
|
||||
self.check_expr("(x for x in range(10))")
|
||||
self.check_expr("foo(x for x in range(10))")
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue