示例#1
0
    def test_decode(self):
        self.assertEqual(decode(b'foo'), u'foo')
        self.assertEqual(decode((b'foo', u'bar')), (u'foo', u'bar'))
        self.assertEqual(decode({b'foo': b'bar'}), {u'foo': u'bar'})
        self.assertEqual(decode(b'fo\xe4'), b'fo\xe4')

        node = BaseNode()
        node.allow_non_node_childs = True
        node[b'foo'] = b'\xc3\xa4'
        self.assertEqual(decode(node), {u'foo': u'\xe4'})
示例#2
0
    def test_encode(self):
        self.assertEqual(
            encode(
                b'\x01\x05\x00\x00\x00\x00\x00\x05\x15\x00\x00\x00\xd4'
                b'\xa0\xff\xff\xaeW\x82\xa9P\xcf8\xaf&\x0e\x00\x00'
            ), (
                b'\x01\x05\x00\x00\x00\x00\x00\x05\x15\x00\x00\x00\xd4'
                b'\xa0\xff\xff\xaeW\x82\xa9P\xcf8\xaf&\x0e\x00\x00'
            )
        )
        self.assertEqual(encode(u'\xe4'), b'\xc3\xa4')
        self.assertEqual(encode([u'\xe4']), [b'\xc3\xa4'])
        self.assertEqual(
            encode({u'\xe4': u'\xe4'}),
            {b'\xc3\xa4': b'\xc3\xa4'}
        )
        self.assertEqual(encode(b'\xc3\xa4'), b'\xc3\xa4')

        node = BaseNode()
        node.allow_non_node_childs = True
        node['foo'] = u'\xe4'
        self.assertEqual(encode(node), {b'foo': b'\xc3\xa4'})