예제 #1
0
def test_guess_default(tdata, fmt):
    config_class, filename = tdata
    orig_fmt = get_default_fmt()
    try:
        set_default_fmt(fmt)
        lst = list(guess(filename))
        assert len(lst) == 1
        assert lst[0] == FileType(filepath=filename, fmt=fmt, config_class=config_class)
    finally:
        set_default_fmt(orig_fmt)
예제 #2
0
def test_standard_filepath(config_class, protocol):
    filepath = standard_filepath(config=config_class, rootname="root", protocol=protocol)
    filetypes = list(guess(filepath))
    assert len(filetypes) == 1
    filetype = filetypes[0]
    assert filetype.filepath == filepath
    assert filetype.protocol == protocol
    assert filetype.config_class == config_class
    filepath2 = standard_filepath(config=config_class.__name__, rootname="root", protocol=protocol)
    assert filepath2 == filepath
    filepath3 = standard_filepath(config=config_class(), rootname="root", protocol=protocol)
    assert filepath3 == filepath
예제 #3
0
def test_standard_filepath(config_class, fmt):
    filepath = standard_filepath(config=config_class, rootname="root", fmt=fmt)
    filetypes = list(guess(filepath))
    assert len(filetypes) == 1
    filetype = filetypes[0]
    assert filetype.filepath == filepath
    assert filetype.fmt == fmt
    assert filetype.config_class == config_class
    filepath2 = standard_filepath(config=config_class.__name__, rootname="root", fmt=fmt)
    assert filepath2 == filepath
    filepath3 = standard_filepath(config=config_class(), rootname="root", fmt=fmt)
    assert filepath3 == filepath
예제 #4
0
def test_guess_mult():
    filepath = "/a/b{protocol}/{config_class}/xx.{protocol}-{config_class}"
    filetypes = list(guess(filepath))
    filetypes_d = {filetype.filepath: filetype for filetype in filetypes}
    protocols = get_protocols()
    config_classes = get_config_classes()
    assert len(filetypes) == len(protocols) * len(config_classes)
    for config_class in config_classes:
        for protocol in protocols:
            fp = filepath.format(protocol=protocol, config_class=config_class.__name__.lower())
            assert fp in filetypes_d
            #assert config_class == filetypes_d[fp].config_class
            #assert protocol == filetypes_d[fp].protocol
            #assert FileType(filepath=fp, protocol=protocol, config_class=config_class) == filetypes_d[fp]
            assert FileType(filepath=fp, protocol=protocol, config_class=config_class) in filetypes
예제 #5
0
def test_guess_mult():
    filepath = "/a/b{fmt}/{config_class}/xx.{fmt}-{config_class}"
    filetypes = list(guess(filepath))
    filetypes_d = {filetype.filepath: filetype for filetype in filetypes}
    fmts = get_fmts()
    config_classes = get_config_classes()
    assert len(filetypes) == len(fmts) * len(config_classes)
    for config_class in config_classes:
        for fmt in fmts:
            fp = filepath.format(fmt=fmt, config_class=config_class.__name__.lower())
            assert fp in filetypes_d
            #assert config_class == filetypes_d[fp].config_class
            #assert fmt == filetypes_d[fp].fmt
            #assert FileType(filepath=fp, fmt=fmt, config_class=config_class) == filetypes_d[fp]
            assert FileType(filepath=fp, fmt=fmt, config_class=config_class) in filetypes
예제 #6
0
def test_guess_no_match():
    filename = "abc.xconfig"
    filetypes = list(guess(filename))
    assert len(filetypes) == 0