def test_parse_argv(): o = [Option("-h"), Option("-v", "--verbose"), Option("-f", "--file", 1)] TS = lambda s: Tokens(s, error=DocoptExit) assert parse_argv(TS(""), options=o) == [] assert parse_argv(TS("-h"), options=o) == [Option("-h", None, 0, True)] assert parse_argv(TS("-h --verbose"), options=o) == [ Option("-h", None, 0, True), Option("-v", "--verbose", 0, True) ] assert parse_argv(TS("-h --file f.txt"), options=o) == [ Option("-h", None, 0, True), Option("-f", "--file", 1, "f.txt") ] assert parse_argv(TS("-h --file f.txt arg"), options=o) == [ Option("-h", None, 0, True), Option("-f", "--file", 1, "f.txt"), Argument(None, "arg") ] assert parse_argv(TS("-h --file f.txt arg arg2"), options=o) == [ Option("-h", None, 0, True), Option("-f", "--file", 1, "f.txt"), Argument(None, "arg"), Argument(None, "arg2"), ] assert parse_argv(TS("-h arg -- -v"), options=o) == [ Option("-h", None, 0, True), Argument(None, "arg"), Argument(None, "--"), Argument(None, "-v") ]
def test_docopt_ng_more_magic_spellcheck_and_expansion(): o = [Option("-h"), Option("-v", "--verbose"), Option(None, "--file", 1)] TS = lambda s: Tokens(s, error=DocoptExit) assert parse_argv(TS(""), options=o) == [] assert parse_argv(TS("-h"), options=o) == [Option("-h", None, 0, True)] assert parse_argv(TS("-h --File f.txt"), options=o, more_magic=True) == [ Option("-h", None, 0, True), Option(None, "--file", 1, "f.txt") ] assert parse_argv(TS("-h --fiLe f.txt arg"), options=o, more_magic=True) == [ Option("-h", None, 0, True), Option(None, "--file", 1, "f.txt"), Argument(None, "arg"), ] assert parse_argv(TS("-h -f f.txt arg arg2"), options=o, more_magic=True) == [ Option("-h", None, 0, True), Option(None, "--file", 1, "f.txt"), Argument(None, "arg"), Argument(None, "arg2"), ]
def test_parse_argv(): o = [Option('-h'), Option('-v', '--verbose'), Option('-f', '--file', 1)] TS = lambda s: Tokens(s, error=DocoptExit) assert parse_argv(TS(''), options=o) == [] assert parse_argv(TS('-h'), options=o) == [Option('-h', None, 0, True)] assert parse_argv(TS('-h --verbose'), options=o) == \ [Option('-h', None, 0, True), Option('-v', '--verbose', 0, True)] assert parse_argv(TS('-h --file f.txt'), options=o) == \ [Option('-h', None, 0, True), Option('-f', '--file', 1, 'f.txt')] assert parse_argv(TS('-h --file f.txt arg'), options=o) == \ [Option('-h', None, 0, True), Option('-f', '--file', 1, 'f.txt'), Argument(None, 'arg')] assert parse_argv(TS('-h --file f.txt arg arg2'), options=o) == \ [Option('-h', None, 0, True), Option('-f', '--file', 1, 'f.txt'), Argument(None, 'arg'), Argument(None, 'arg2')] assert parse_argv(TS('-h arg -- -v'), options=o) == \ [Option('-h', None, 0, True), Argument(None, 'arg'), Argument(None, '--'), Argument(None, '-v')]