def test_pair_options_to_argument(self):
code = """
import json
import click
from histonets import utils
@click.group()
def main():
pass
@main.command()
@click.argument('img')
@click.argument('arg', nargs=-1, required=True)
@click.option('-o', '--option', multiple=True)
@utils.pair_options_to_argument('arg', {'option': 0}, args_slice=(2, None))
def command(img, arg, option):
click.echo(json.dumps((arg, option)))
main()
"""
cmd = ("echo \"{}\" "
"| python - command im t1 -o 1 t2 t3 -o 3".format(code))
ps = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
output = ps.communicate()[0].decode()
assert 'Error' not in output
assert [["t1", "t2", "t3"], ["1", 0, "3"]] == json.loads(output)
评论列表
文章目录