def test_filename_equality(tmpdir): fp1 = fpt.Filename(root=tmpdir, folders=['$token$', 'subfolder'], base=['this', 'file', '$token2$']) fp2 = fpt.Filename(root=tmpdir, folders=['$token$', 'subfolder'], base=['this', 'file', '$token2$']) assert fp1 == fp2 fp2.folders.append('another_subfolder') assert fp1 != fp2 assert fp1 != True
def test_filename_init(tmpdir): fp = fpt.Filename(root=tmpdir, folders=['this', 'folder'], base=['this', 'file'], separator='_', extension='png') assert fp
def test_permutations_invalid(tmpdir, data_invalid): fp = fpt.Filename(root=tmpdir, folders=['assets', '$sizes$', '$colors$'], base=['untitled', '$sizes$', '$colors$']) assert not fp.tokens with pytest.raises(fpt.TokenError): for perm in fp.resolve(): perm fp.parse() with pytest.raises(fpt.TokenError): for perm in fp.resolve(**data_invalid): perm
def test_permutations(tmpdir, data, results): fp = fpt.Filename(root=tmpdir, folders=['assets', '$sizes$', '$colors$'], base=['untitled', '$sizes$', '$colors$']) fp.parse() permutations = list(fp.resolve(**data)) assert len(permutations) == len(results) for perm in permutations: match = False for result in results: if perm.abspath.endswith(result): match = True assert match == True
def test_parsing_invalid(tmpdir): fp = fpt.Filename(root=tmpdir, folders=['$token$$token$', 'subfolder'], base=['this', 'file', '$token2$']) with pytest.raises(ValueError): fp.parse()
def filename(): fp = fpt.Filename(root='', folders=['$token$', 'subfolder'], base=['this', 'file', '$token2$']) return fp