52 lines
1.1 KiB
Python
52 lines
1.1 KiB
Python
import click
|
|
|
|
|
|
def test_command_no_parens(runner):
|
|
@click.command
|
|
def cli():
|
|
click.echo("hello")
|
|
|
|
result = runner.invoke(cli)
|
|
assert result.exception is None
|
|
assert result.output == "hello\n"
|
|
|
|
|
|
def test_group_no_parens(runner):
|
|
@click.group
|
|
def grp():
|
|
click.echo("grp1")
|
|
|
|
@grp.command
|
|
def cmd1():
|
|
click.echo("cmd1")
|
|
|
|
@grp.group
|
|
def grp2():
|
|
click.echo("grp2")
|
|
|
|
@grp2.command
|
|
def cmd2():
|
|
click.echo("cmd2")
|
|
|
|
result = runner.invoke(grp, ["cmd1"])
|
|
assert result.exception is None
|
|
assert result.output == "grp1\ncmd1\n"
|
|
|
|
result = runner.invoke(grp, ["grp2", "cmd2"])
|
|
assert result.exception is None
|
|
assert result.output == "grp1\ngrp2\ncmd2\n"
|
|
|
|
|
|
def test_params_argument(runner):
|
|
opt = click.Argument(["a"])
|
|
|
|
@click.command(params=[opt])
|
|
@click.argument("b")
|
|
def cli(a, b):
|
|
click.echo(f"{a} {b}")
|
|
|
|
assert cli.params[0].name == "a"
|
|
assert cli.params[1].name == "b"
|
|
result = runner.invoke(cli, ["1", "2"])
|
|
assert result.output == "1 2\n"
|