/** * Test that adding our own mappping will result in it being added to the classMap * */ public function testSetMappingClass() { TypeLoader::setMapping('com.example.vo.Contact', 'Contact'); $class = TypeLoader::getMappedClassName('com.example.vo.Contact'); $this->assertEquals('Contact', $class); }
public function testAmf0TypedObjecDeserializedToNativePHPObject() { TypeLoader::setMapping("ContactVO", "Contact"); $myRequest = file_get_contents(dirname(__FILE__) . '/Request/mock/typedObjectAmf0Request.bin'); // send the mock object request to be deserialized $this->_request->initialize($myRequest); // Make sure that no headers where recieved $this->assertEquals(0, sizeof($this->_request->getAmfHeaders())); // Make sure that the message body was set after deserialization $this->assertEquals(1, sizeof($this->_request->getAmfBodies())); $bodies = $this->_request->getAmfBodies(); $this->assertTrue($bodies[0] instanceof MessageBody); $data = $bodies[0]->getData(); // Make sure that we are dealing with a PHP simpleXml element $this->assertTrue($data[0] instanceof Contact); // Make sure that the xml was deserialized properly and check its value $this->assertEquals('arnold', (string) $data[0]->lastname); }
/** * Map ActionScript classes to PHP classes * * @param string $asClass * @param string $phpClass * @return Server */ public function setClassMap($asClass, $phpClass) { TypeLoader::setMapping($asClass, $phpClass); return $this; }
public function testPhpObjectSerializedToAmf0TypedObjectClassMap() { TypeLoader::setMapping("ContactVO", "Contact"); $data = array(); $contact = new Contact(); $contact->id = '15'; $contact->firstname = 'Joe'; $contact->lastname = 'Smith'; $contact->email = '*****@*****.**'; $contact->mobile = '123-456-7890'; unset($contact->_explicitType); array_push($data, $contact); $contact = new Contact(); $contact->id = '23'; $contact->firstname = 'Adobe'; $contact->lastname = 'Flex'; $contact->email = '*****@*****.**'; $contact->mobile = '123-456-7890'; unset($contact->_explicitType); array_push($data, $contact); $newBody = new MessageBody('/1/onResult', null, $data); $this->_response->setObjectEncoding(0x0); $this->_response->addAmfBody($newBody); $this->_response->finalize(); $testResponse = $this->_response->getResponse(); // Load the expected response. $mockResponse = file_get_contents(dirname(__FILE__) . '/Response/mock/typedObjectAmf0Response.bin'); // Check that the response matches the expected serialized value $this->assertEquals($mockResponse, $testResponse); }