Exemplo n.º 1
0
def test_exists_and_is_type(paths):
    for f in paths['not_files']:
        p = mj.Path(f)
        assert not p.exists()
        with pytest.raises(mj.PathError):
            p.is_file()
        with pytest.raises(mj.PathError):
            p.is_folder()

    for f in paths['not_folders']:
        p = mj.Path(f)
        assert not p.exists()
        with pytest.raises(mj.PathError):
            p.is_file()
        with pytest.raises(mj.PathError):
            p.is_folder()

    for f in paths['files']:
        p = mj.Path(f)
        assert p.exists()
        assert p.is_file()
        assert not p.is_folder()

    for f in paths['folders']:
        p = mj.Path(f)
        assert p.exists()
        assert not p.is_file()
        assert p.is_folder()

    for f in paths['not_files_in_folder']:
        p = mj.Path(f)
        assert not p.exists()
        with pytest.raises(mj.PathError):
            p.is_file()
        with pytest.raises(mj.PathError):
            p.is_folder()

    for f in paths['not_folders_in_folder']:
        p = mj.Path(f)
        assert not p.exists()
        with pytest.raises(mj.PathError):
            p.is_file()
        with pytest.raises(mj.PathError):
            p.is_folder()

    for f in paths['files_in_folder']:
        p = mj.Path(f)
        assert p.exists()
        assert p.is_file()
        assert not p.is_folder()

    for f in paths['folders_in_folder']:
        p = mj.Path(f)
        assert p.exists()
        assert not p.is_file()
        assert p.is_folder()
Exemplo n.º 2
0
def test_slashes():
    assert mj.Path('/') == '/'
    assert mj.Path('\\') == '/'
    if mj.Path.platform() == mj.Path._WINDOWS:
        assert mj.Path('C:\\dev\\dummy') == 'C:/dev/dummy'
        assert mj.Path('C:/dev\\dummy') == 'C:/dev/dummy'
    else:
        assert mj.Path('\\dev\\dummy') == '/dev/dummy'
        assert mj.Path('/dev\\dummy') == '/dev/dummy'
Exemplo n.º 3
0
def _make(folder, subfolder, name, is_folder, exists):
    paths = []
    for i in range(_num_items):
        if subfolder:
            folder = os.path.join(folder, subfolder)
        else:
            folder = folder
        path = os.path.join(folder, name.format(i))
        if exists and is_folder:
            if not os.path.exists(path):
                os.makedirs(path)
        if exists and not is_folder:
            if not os.path.exists(folder):
                os.makedirs(folder)
            with open(path, 'w') as f:
                f.write('Some simple text')
        paths.append(mj.Path(path))
    return paths
Exemplo n.º 4
0
def test_list(tmp_folder, paths):
    path_list = []
    for key in paths:
        path_list += paths[key]

    check_paths = [mj.Path(x) for x in path_list]
    check_paths = [str(x) for x in check_paths if x.exists()]
    list_paths = mj.Path(tmp_folder).list('*', recursive=True)
    assert set(list_paths) == set(check_paths)

    check_paths = [mj.Path(x) for x in path_list if x.endswith('.txt')]
    check_paths = [str(x) for x in check_paths if x.exists()]
    list_paths = mj.Path(tmp_folder).list('*.txt', recursive=True)
    assert set(list_paths) == set(check_paths)

    path_list = paths['files'] + paths['folders']
    check_paths = [mj.Path(x) for x in path_list]
    check_paths = [str(x) for x in check_paths if x.exists()]
    list_paths = mj.Path(tmp_folder).list('*')
    assert set(check_paths) == set(list_paths)

    check_paths = [x for x in check_paths if x.endswith('.txt')]
    list_paths = mj.Path(tmp_folder).list('*.txt')
    assert set(check_paths) == set(list_paths)
Exemplo n.º 5
0
def test_parts():
    if mj.Path.platform() == mj.Path._WINDOWS:
        assert mj.Path('C:/dev/dummy').parts() == ['C:', 'dev', 'dummy']
    assert mj.Path('/how/to/do/this').parts() == ['how', 'to', 'do', 'this']
    assert mj.Path('/and\\odd/slashes').parts() == ['and', 'odd', 'slashes']
Exemplo n.º 6
0
def test_drives():
    if mj.Path.platform() == mj.Path._WINDOWS:
        assert mj.Path('C:/dev/dummy').mountpoint() == 'C:'
    else:
        with pytest.raises(mj.PathError):
            mj.Path('C:/dev/dummy')
Exemplo n.º 7
0
def test_volume():
    assert mj.Path('/').is_volume()