40 lines
955 B
Python
40 lines
955 B
Python
import click
|
|
|
|
|
|
CONTEXT_SETTINGS = dict(token_normalize_func=lambda x: x.lower())
|
|
|
|
|
|
def test_option_normalization(runner):
|
|
@click.command(context_settings=CONTEXT_SETTINGS)
|
|
@click.option('--foo')
|
|
@click.option('-x')
|
|
def cli(foo, x):
|
|
click.echo(foo)
|
|
click.echo(x)
|
|
|
|
result = runner.invoke(cli, ['--FOO', '42', '-X', 23])
|
|
assert result.output == '42\n23\n'
|
|
|
|
|
|
def test_choice_normalization(runner):
|
|
@click.command(context_settings=CONTEXT_SETTINGS)
|
|
@click.option('--choice', type=click.Choice(['Foo', 'Bar']))
|
|
def cli(choice):
|
|
click.echo('Foo')
|
|
|
|
result = runner.invoke(cli, ['--CHOICE', 'FOO'])
|
|
assert result.output == 'Foo\n'
|
|
|
|
|
|
def test_command_normalization(runner):
|
|
@click.group(context_settings=CONTEXT_SETTINGS)
|
|
def cli():
|
|
pass
|
|
|
|
@cli.command()
|
|
def foo():
|
|
click.echo('here!')
|
|
|
|
result = runner.invoke(cli, ['FOO'])
|
|
assert result.output == 'here!\n'
|