Пример #1
0
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"),
                      ]
Пример #3
0
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')]