Skip to content

Commit

Permalink
Fix duplicated testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
sterliakov committed Oct 24, 2024
1 parent bbaf9de commit 4d55122
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions test-data/unit/check-parameter-specification.test
Original file line number Diff line number Diff line change
Expand Up @@ -2370,17 +2370,38 @@ def run3(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwar
func2(**d) # E: Argument 1 has incompatible type "**Dict[str, str]"; expected "P.kwargs"
return func2(**kwargs)

def run4(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, 1)
return func2(*args, **kwargs)

def run5(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, 1, *args, **kwargs)
func2()
return func2(**kwargs)

def run_bad(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, *args) # E: Argument 1 has incompatible type "*P.args"; expected "int"
return func2(1, **kwargs) # E: Argument 1 has incompatible type "int"; expected "P.args"

def run_bad2(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, 1, *args)
func2() # E: Too few arguments
func2(*args, **kwargs) # E: Too many arguments
return func2(1, **kwargs) # E: Argument 1 has incompatible type "int"; expected "P.args"

def run_bad3(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, 1, *args)
return func2(1, **kwargs) # E: Argument 1 has incompatible type "int"; expected "P.args"

func2 = partial(func, 1, **kwargs)
func2() # E: Too few arguments
return func2(1, *args) # E: Argument 1 has incompatible type "int"; expected "P.args"

def run_bad4(func: Callable[Concatenate[int, P], T], *args: P.args, **kwargs: P.kwargs) -> T:
func2 = partial(func, 1)
func2() # E: Too few arguments
func2(*args) # E: Too few arguments
func2(1, *args) # E: Too few arguments \
# E: Argument 1 has incompatible type "int"; expected "P.args"
func2(1, **kwargs) # E: Too few arguments \
# E: Argument 1 has incompatible type "int"; expected "P.args"
return func2(**kwargs) # E: Too few arguments

[builtins fixtures/paramspec.pyi]

0 comments on commit 4d55122

Please sign in to comment.