ruff/crates/ruff_python_parser/resources/valid/expressions/arguments.py

51 lines
805 B
Python

# This only tests the call arguments and not the expression before the opening parenthesis.
# Simple
call()
call(x, y)
call(x, y,) # Trailing comma
call(x=1, y=2)
call(*x)
call(**x)
# Order
call(x, y=1)
call(x, *y)
call(x, **y)
call(x=1, *y)
call(x=1, **y)
call(*x, **y)
call(*x, y, z)
call(**x, y=1, z=2)
call(*x1, *x2, **y1, **y2)
call(x=1, **y, z=1)
# Keyword expression
call(x=1 if True else 2)
call(x=await y)
call(x=lambda y: y)
call(x=(y := 1))
# Yield expression
call((yield x))
call((yield from x))
# Named expression
call(x := 1)
call(x := 1 for x in iter)
# Starred expressions
call(*x and y)
call(*x | y)
call(*await x)
call(*lambda x: x)
call(*x if True else y)
# Double starred
call(**x)
call(**x and y)
call(**await x)
call(**x if True else y)
call(**(yield x))
call(**lambda x: x)