diff options
| author | Armin Ronacher <armin.ronacher@active-4.com> | 2014-08-11 11:26:46 +0200 |
|---|---|---|
| committer | Armin Ronacher <armin.ronacher@active-4.com> | 2014-08-11 11:26:46 +0200 |
| commit | c8d3300a2467d3a017aac1d24a92cb254ce921fe (patch) | |
| tree | 9221069d4d1dbd5cf9b95ef26317ed890c8cf276 /tests/test_defaults.py | |
| parent | 8d0dfa5c3751ff37bccaa7a176a2ae902c84d00d (diff) | |
| download | click-c8d3300a2467d3a017aac1d24a92cb254ce921fe.tar.gz | |
Added support for multiple defaults on options and nargs
Diffstat (limited to 'tests/test_defaults.py')
| -rw-r--r-- | tests/test_defaults.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test_defaults.py b/tests/test_defaults.py new file mode 100644 index 0000000..dba5a9c --- /dev/null +++ b/tests/test_defaults.py @@ -0,0 +1,46 @@ +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>', + ] |
