def test_decode(self): self.assertEquals(decode_variable(v('0003666f6f 05')), ('foo', None)) # trailing (garbage) data in the buffer self.assertEquals(decode_variable(v('0003666f6f 05 badbad')), ('foo', None)) # not enough data self.assertRaises(amf0.DecoderError, decode_variable, v('0003666f6f')) self.assertRaises(amf0.DecoderError, decode_variable, v('0003666f')) self.assertRaises(amf0.DecoderError, decode_variable, v('0003')) self.assertRaises(amf0.DecoderError, decode_variable, v('00')) self.assertRaises(amf0.DecoderError, decode_variable, v('')) d = ('000d7661726961626c65206e616d650a0000000300' '3ff000000000000000400000000000000002000133') self.assertEquals(decode_variable(v(d)), ('variable name', [1, 2, '3'])) # trailing data buf = v(d + d) self.assertEquals(decode_variable(buf), ('variable name', [1, 2, '3'])) self.assertEquals(decode_variable(buf), ('variable name', [1, 2, '3'])) self.assertRaises(amf0.DecoderError, decode_variable, buf)
def test_encode_decode(self): self.assertEquals(decode_variable(encode_variable('bar', None)), ('bar', None)) self.assertEquals( decode_variable(encode_variable('baz', [None, 1, { '3': 2 }])), ('baz', [None, 1, { '3': 2 }]))
def test_encode_decode(self): self.assertEquals(decode_variable(encode_variable('bar', None)), ('bar', None)) self.assertEquals(decode_variable(encode_variable('baz', [None, 1, {'3': 2}])), ('baz', [None, 1, {'3': 2}]))