|
@@ -18,17 +18,20 @@
|
|
|
|
|
|
namespace JMS\SerializerBundle\Tests\DependencyInjection;
|
|
|
|
|
|
-use JMS\SerializerBundle\Tests\Fixtures\SimpleObject;
|
|
|
+use Symfony\Component\DependencyInjection\Compiler\InlineServiceDefinitionsPass;
|
|
|
|
|
|
-use Doctrine\Common\Annotations\AnnotationReader;
|
|
|
+use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
|
|
|
+
|
|
|
+use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
|
|
|
|
|
|
+use Symfony\Component\DependencyInjection\Compiler\RemoveUnusedDefinitionsPass;
|
|
|
+
|
|
|
+use JMS\SerializerBundle\Tests\Fixtures\SimpleObject;
|
|
|
+use Doctrine\Common\Annotations\AnnotationReader;
|
|
|
use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass;
|
|
|
use JMS\SerializerBundle\JMSSerializerBundle;
|
|
|
-
|
|
|
use Doctrine\Common\Annotations\Reader;
|
|
|
-
|
|
|
use JMS\SerializerBundle\Tests\Fixtures\VersionedObject;
|
|
|
-
|
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
|
use JMS\SerializerBundle\DependencyInjection\JMSSerializerExtension;
|
|
|
|
|
@@ -53,6 +56,26 @@ class JMSSerializerExtensionTest extends \PHPUnit_Framework_TestCase
|
|
|
}
|
|
|
|
|
|
public function testLoad()
|
|
|
+ {
|
|
|
+ $container = $this->getContainerForConfig(array(array()));
|
|
|
+
|
|
|
+ $simpleObject = new SimpleObject('foo', 'bar');
|
|
|
+ $versionedObject = new VersionedObject('foo', 'bar');
|
|
|
+ $serializer = $container->get('serializer');
|
|
|
+
|
|
|
+ // test that all components have been wired correctly
|
|
|
+ $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
|
|
|
+ $this->assertEquals($simpleObject, $serializer->deserialize($serializer->serialize($simpleObject, 'json'), get_class($simpleObject), 'json'));
|
|
|
+ $this->assertEquals($simpleObject, $serializer->deserialize($serializer->serialize($simpleObject, 'xml'), get_class($simpleObject), 'xml'));
|
|
|
+
|
|
|
+ $serializer->setVersion('0.0.1');
|
|
|
+ $this->assertEquals(json_encode(array('name' => 'foo')), $serializer->serialize($versionedObject, 'json'));
|
|
|
+
|
|
|
+ $serializer->setVersion('1.1.1');
|
|
|
+ $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
|
|
|
+ }
|
|
|
+
|
|
|
+ private function getContainerForConfig(array $configs)
|
|
|
{
|
|
|
$extension = new JMSSerializerExtension();
|
|
|
$container = new ContainerBuilder();
|
|
@@ -62,7 +85,7 @@ class JMSSerializerExtensionTest extends \PHPUnit_Framework_TestCase
|
|
|
$container->set('annotation_reader', new AnnotationReader());
|
|
|
$container->set('service_container', $container);
|
|
|
$container->set('translator', $this->getMock('Symfony\\Component\\Translation\\TranslatorInterface'));
|
|
|
- $extension->load(array(array()), $container);
|
|
|
+ $extension->load($configs, $container);
|
|
|
|
|
|
$bundle = new JMSSerializerBundle();
|
|
|
$bundle->build($container);
|
|
@@ -73,19 +96,6 @@ class JMSSerializerExtensionTest extends \PHPUnit_Framework_TestCase
|
|
|
$container->getCompilerPassConfig()->setRemovingPasses(array());
|
|
|
$container->compile();
|
|
|
|
|
|
- $simpleObject = new SimpleObject('foo', 'bar');
|
|
|
- $versionedObject = new VersionedObject('foo', 'bar');
|
|
|
- $serializer = $container->get('serializer');
|
|
|
-
|
|
|
- // test that all components have been wired correctly
|
|
|
- $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
|
|
|
- $this->assertEquals($simpleObject, $serializer->deserialize($serializer->serialize($simpleObject, 'json'), get_class($simpleObject), 'json'));
|
|
|
- $this->assertEquals($simpleObject, $serializer->deserialize($serializer->serialize($simpleObject, 'xml'), get_class($simpleObject), 'xml'));
|
|
|
-
|
|
|
- $serializer->setVersion('0.0.1');
|
|
|
- $this->assertEquals(json_encode(array('name' => 'foo')), $serializer->serialize($versionedObject, 'json'));
|
|
|
-
|
|
|
- $serializer->setVersion('1.1.1');
|
|
|
- $this->assertEquals(json_encode(array('name' => 'bar')), $serializer->serialize($versionedObject, 'json'));
|
|
|
+ return $container;
|
|
|
}
|
|
|
}
|