Example #1
0
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')))
  ])
Example #2
0
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)
Example #3
0
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('/&!')