added additional unit tests for deserialization

This commit is contained in:
lsmith77 2011-12-11 20:54:18 +01:00
parent 967531faa5
commit cb495fd7a3

View File

@ -136,13 +136,34 @@ class SerializerTest extends \PHPUnit_Framework_TestCase
/**
* @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
*/
public function testDeerializeNoEncoder()
public function testDeserializeNoEncoder()
{
$this->serializer = new Serializer(array(), array());
$data = array('title' => 'foo', 'numbers' => array(5, 3));
$this->serializer->deserialize(json_encode($data), '\Symfony\Tests\Component\Serializer\Model', 'json');
}
public function testDeserializeSupported()
{
$this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
$data = array('title' => 'foo', 'numbers' => array(5, 3));
$this->assertTrue($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Tests\Component\Serializer\Model', 'json'));
}
public function testDeserializeNotSupported()
{
$this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
$data = array('title' => 'foo', 'numbers' => array(5, 3));
$this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), 'stdClass', 'json'));
}
public function testDeserializeNotSupportedMissing()
{
$this->serializer = new Serializer(array(), array());
$data = array('title' => 'foo', 'numbers' => array(5, 3));
$this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Tests\Component\Serializer\Model', 'json'));
}
public function testEncode()
{
$this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));