def test_parse_dtab(): assert parse_dtab('') == Dtab.empty() assert parse_dtab(' /=>! ') == Dtab([Dentry(Path.empty(), NameTree.Fail)]) assert parse_dtab('/=>!;') == Dtab([Dentry(Path.empty(), NameTree.Fail)]) assert parse_dtab('/=>!;/foo=>/bar') == Dtab([ Dentry(Path.empty(), NameTree.Fail), Dentry(Path('foo'), NameTree.Leaf(Path('bar'))) ])
def test_parse_path(): assert parse_path('/') == Path.empty() assert parse_path(' /foo/bar ') == Path('foo', 'bar') assert parse_path('/\\x66\\x6f\\x6F') == Path('foo') # '/{}' -- How does this pass scala tests? for path in ('', '/foo/bar/', '/\\?', '/\\x?', '/\\x0?'): with pytest.raises(ValueError): parse_path(path)
def test_parse_dentry(): assert parse_dentry('/=>!') == Dentry(Path.empty(), NameTree.Fail) assert parse_dentry('/ => !') == Dentry(Path.empty(), NameTree.Fail) with pytest.raises(ValueError): parse_dentry('/&!')