Beispiel #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')))
  ])
Beispiel #2
0
def test_tdispatch(tag):
  for contexts in [(), (('foo', 'bar'),), (('foo', 'bar'), ('bork', 'bonk'))]:
    for body in ['', 'baz']:
      for dest in ['/wat', '/x/y/z']:
        msg = Tdispatch(tag, contexts, dest, Dtab.empty(), body.encode('utf-8'))
        msg2 = Packet.decode(msg.encode())
        assert msg.tag == msg2.tag
        assert msg.dest == msg2.dest
        assert msg.contexts == msg2.contexts
        assert msg.dtab == msg2.dtab
        assert msg.body == msg2.body