python-click/tests/test_compat.py

26 lines
813 B
Python
Raw Normal View History

2014-10-16 20:40:34 +02:00
import click
2018-09-06 20:55:10 +02:00
import pytest
2014-10-16 20:40:34 +02:00
if click.__version__ >= '3.0':
def test_legacy_callbacks(runner):
def legacy_callback(ctx, value):
return value.upper()
@click.command()
@click.option('--foo', callback=legacy_callback)
def cli(foo):
click.echo(foo)
2018-09-06 20:55:10 +02:00
with pytest.warns(Warning, match='Invoked legacy parameter callback'):
result = runner.invoke(cli, ['--foo', 'wat'])
assert result.exit_code == 0
assert 'WAT' in result.output
2015-07-16 14:26:14 +02:00
def test_bash_func_name():
from click._bashcomplete import get_completion_script
2018-09-06 20:55:10 +02:00
script = get_completion_script('foo-bar baz_blah', '_COMPLETE_VAR', 'bash').strip()
2015-07-16 14:26:14 +02:00
assert script.startswith('_foo_barbaz_blah_completion()')
assert '_COMPLETE_VAR=complete $1' in script