LazyLoaderTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace JMS\SerializerBundle\Tests\Serializer;
  3. use JMS\SerializerBundle\Serializer\Handler\HandlerRegistry;
  4. use Doctrine\Common\Annotations\AnnotationReader;
  5. use JMS\SerializerBundle\Metadata\Driver\AnnotationDriver;
  6. use JMS\SerializerBundle\Serializer\LazyLoadingSerializer;
  7. use JMS\SerializerBundle\Serializer\Construction\UnserializeObjectConstructor;
  8. use Metadata\MetadataFactory;
  9. use Symfony\Component\DependencyInjection\ContainerBuilder;
  10. use JMS\SerializerBundle\DependencyInjection\JMSSerializerExtension;
  11. class LazyLoaderTest extends \PHPUnit_Framework_TestCase
  12. {
  13. protected $serializer;
  14. protected function setUp()
  15. {
  16. $this->serializer = new LazyLoadingSerializer(
  17. new MetadataFactory(new AnnotationDriver(new AnnotationReader())),
  18. new HandlerRegistry(),
  19. new UnserializeObjectConstructor(),
  20. null,
  21. null,
  22. array('json' => 'jms_serializer.json_serialization_visitor')
  23. );
  24. $container = new ContainerBuilder();
  25. $container->setParameter('kernel.debug', true);
  26. $container->setParameter('kernel.cache_dir', sys_get_temp_dir().'/serializer');
  27. $container->setParameter('kernel.bundles', array());
  28. $extension = new JMSSerializerExtension();
  29. $extension->load(array(array()), $container);
  30. $this->serializer->setContainer($container);
  31. }
  32. public function testSetSerializeNull()
  33. {
  34. $this->serializer->setSerializeNull(true);
  35. $this->assertEquals('{"foo":"bar","baz":null}', $this->serializer->serialize(array('foo' => 'bar', 'baz' => null), 'json'));
  36. }
  37. }