summaryrefslogtreecommitdiff
path: root/tests/test_normalization.py
blob: 4790d32bbaa2e51e4982888dfcbf7486b0b3cba9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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(choice)

    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'