47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
|
import click
|
||
|
|
||
|
|
||
|
def test_basic_defaults(runner):
|
||
|
@click.command()
|
||
|
@click.option('--foo', default=42, type=click.FLOAT)
|
||
|
def cli(foo):
|
||
|
assert type(foo) is float
|
||
|
click.echo('FOO:[%s]' % foo)
|
||
|
|
||
|
result = runner.invoke(cli, [])
|
||
|
assert not result.exception
|
||
|
assert 'FOO:[42.0]' in result.output
|
||
|
|
||
|
|
||
|
def test_multiple_defaults(runner):
|
||
|
@click.command()
|
||
|
@click.option('--foo', default=[23, 42], type=click.FLOAT,
|
||
|
multiple=True)
|
||
|
def cli(foo):
|
||
|
for item in foo:
|
||
|
assert type(item) is float
|
||
|
click.echo(item)
|
||
|
|
||
|
result = runner.invoke(cli, [])
|
||
|
assert not result.exception
|
||
|
assert result.output.splitlines() == [
|
||
|
'23.0',
|
||
|
'42.0',
|
||
|
]
|
||
|
|
||
|
|
||
|
def test_nargs_plus_multiple(runner):
|
||
|
@click.command()
|
||
|
@click.option('--arg', default=((1, 2), (3, 4)),
|
||
|
nargs=2, multiple=True, type=click.INT)
|
||
|
def cli(arg):
|
||
|
for item in arg:
|
||
|
click.echo('<%d|%d>' % item)
|
||
|
|
||
|
result = runner.invoke(cli, [])
|
||
|
assert not result.exception
|
||
|
assert result.output.splitlines() == [
|
||
|
'<1|2>',
|
||
|
'<3|4>',
|
||
|
]
|