def test_add(self): x = amf0.Context() y = [1, 2, 3] self.assertEquals(x.addObject(y), 0) self.assertTrue(y in x.objects) self.assertEquals(len(x.objects), 1)
def test_decode_with_context(self): context = amf0.Context() obj = object() context.addObject(obj) self.assertEquals( [x for x in amf0.decode('\x07\x00\x00', context=context)], [obj])
def test_encode_with_context(self): context = amf0.Context() obj = object() context.addObject(obj) self.assertEquals( amf0.encode(obj, context=context).getvalue(), '\x07\x00\x00')
def test_create(self): c = amf0.Context() self.assertEquals(c.objects, []) self.assertEquals(len(c.objects), 0) self.assertEquals(c.amf3_objs, []) self.assertEquals(len(c.amf3_objs), 0)
def test_get_encoder(self): from pyamf import amf0, amf3 self.assertEquals(pyamf._get_encoder_class(pyamf.AMF0), amf0.Encoder) self.assertEquals(pyamf._get_encoder_class(pyamf.AMF3), amf3.Encoder) self.assertRaises(ValueError, pyamf._get_encoder_class, 'spam') self.assertTrue(isinstance(pyamf.get_encoder(pyamf.AMF0), amf0.Encoder)) self.assertTrue(isinstance(pyamf.get_encoder(pyamf.AMF3), amf3.Encoder)) self.assertRaises(ValueError, pyamf.get_encoder, 'spam') context = amf0.Context() encoder = pyamf.get_encoder(pyamf.AMF0, data='spam', context=context) self.assertEquals(encoder.stream.getvalue(), 'spam') self.assertEquals(encoder.context, context) self.assertFalse(encoder.strict) context = amf3.Context() encoder = pyamf.get_encoder(pyamf.AMF3, data='eggs', context=context) self.assertFalse(encoder.strict) encoder = pyamf.get_encoder(pyamf.AMF0, strict=True) self.assertTrue(encoder.strict) encoder = pyamf.get_encoder(pyamf.AMF3, strict=True) self.assertTrue(encoder.strict)
def test_get_decoder(self): from pyamf import amf0, amf3 self.assertEquals(pyamf._get_decoder_class(pyamf.AMF0), amf0.Decoder) self.assertEquals(pyamf._get_decoder_class(pyamf.AMF3), amf3.Decoder) self.assertRaises(ValueError, pyamf._get_decoder_class, 'spam') self.assertTrue(isinstance(pyamf.get_decoder(pyamf.AMF0), amf0.Decoder)) self.assertTrue(isinstance(pyamf.get_decoder(pyamf.AMF3), amf3.Decoder)) self.assertRaises(ValueError, pyamf.get_decoder, 'spam') context = amf0.Context() decoder = pyamf.get_decoder(pyamf.AMF0, data='123', context=context, strict=True) self.assertEquals(decoder.stream.getvalue(), '123') self.assertEquals(decoder.context, context) self.assertTrue(decoder.strict) context = amf3.Context() decoder = pyamf.get_decoder(pyamf.AMF3, data='456', context=context, strict=True) self.assertEquals(decoder.stream.getvalue(), '456') self.assertEquals(decoder.context, context) self.assertTrue(decoder.strict)
def test_get_reference(self): x = amf0.Context() y = [1, 2, 3] z = {'spam': 'eggs'} ref1 = x.addObject(y) ref2 = x.addObject(z) self.assertEquals(x.getObjectReference(y), ref1) self.assertEquals(x.getObjectReference(z), ref2) self.assertRaises(pyamf.ReferenceError, x.getObjectReference, {})
def test_get_by_reference(self): x = amf0.Context() y = [1, 2, 3] z = {'spam': 'eggs'} x.addObject(y) x.addObject(z) self.assertEquals(x.getObject(0), y) self.assertEquals(x.getObject(1), z) self.assertRaises(pyamf.ReferenceError, x.getObject, 2) self.assertRaises(TypeError, x.getObject, '') self.assertRaises(TypeError, x.getObject, 2.2323)
def test_copy(self): import copy orig = amf0.Context() orig.addObject({'spam': 'eggs'}) orig.amf3_objs.append([1, 2, 3]) new = copy.copy(orig) self.assertEquals(new.objects, []) self.assertEquals(len(new.objects), 0) self.assertEquals(new.amf3_objs, [[1, 2, 3]]) self.assertEquals(len(new.amf3_objs), 1)
def test_clear(self): x = amf0.Context() y = [1, 2, 3] x.addObject(y) x.amf3_objs.append({}) x.clear() self.assertEquals(x.objects, []) self.assertEquals(len(x.objects), 0) self.assertFalse(y in x.objects) self.assertEquals(x.amf3_objs, []) self.assertEquals(len(x.amf3_objs), 0) self.assertFalse({} in x.amf3_objs)