瀏覽代碼

fixed unit tests

Johannes Schmitt 14 年之前
父節點
當前提交
f1cbe9c56a

+ 2 - 2
Metadata/Driver/AnnotationDriver.php

@@ -9,9 +9,9 @@ use JMS\SerializerBundle\Annotation\Expose;
 use JMS\SerializerBundle\Annotation\SerializedName;
 use JMS\SerializerBundle\Annotation\SerializedName;
 use JMS\SerializerBundle\Annotation\Until;
 use JMS\SerializerBundle\Annotation\Until;
 use JMS\SerializerBundle\Annotation\Since;
 use JMS\SerializerBundle\Annotation\Since;
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
 use JMS\SerializerBundle\Annotation\ExclusionPolicy;
 use JMS\SerializerBundle\Annotation\ExclusionPolicy;
-use JMS\SerializerBundle\Mapping\ClassMetadata;
+use JMS\SerializerBundle\Metadata\ClassMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class AnnotationDriver implements DriverInterface
 class AnnotationDriver implements DriverInterface
 {
 {

+ 2 - 2
Resources/config/services.xml

@@ -5,7 +5,7 @@
     xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
     xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
 
 
     <parameters>
     <parameters>
-        <parameter key="jms_serializer.metadata.driver.annotation_driver.class">JMS\SerializerBundle\Mapping\Driver\AnnotationDriver</parameter>
+        <parameter key="jms_serializer.metadata.driver.annotation_driver.class">JMS\SerializerBundle\Metadata\Driver\AnnotationDriver</parameter>
         
         
         <parameter key="jms_serializer.metadata.metadata_factory.class">JMS\SerializerBundle\Metadata\MetadataFactory</parameter>
         <parameter key="jms_serializer.metadata.metadata_factory.class">JMS\SerializerBundle\Metadata\MetadataFactory</parameter>
     
     
@@ -33,7 +33,7 @@
     <services>
     <services>
         <!-- Metadata Drivers -->
         <!-- Metadata Drivers -->
         <service id="jms_serializer.metadata.driver.annotation_driver" class="%jms_serializer.metadata.driver.annotation_driver.class%" public="false">
         <service id="jms_serializer.metadata.driver.annotation_driver" class="%jms_serializer.metadata.driver.annotation_driver.class%" public="false">
-            <argument type="service" id="annotation_driver" />
+            <argument type="service" id="annotation_reader" />
         </service>
         </service>
         <service id="jms_serializer.metadata_driver" alias="jms_serializer.metadata.driver.annotation_driver" public="false" />
         <service id="jms_serializer.metadata_driver" alias="jms_serializer.metadata.driver.annotation_driver" public="false" />
 
 

+ 1 - 1
Serializer/Exclusion/AllExclusionStrategy.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class AllExclusionStrategy implements ExclusionStrategyInterface
 class AllExclusionStrategy implements ExclusionStrategyInterface
 {
 {

+ 1 - 1
Serializer/Exclusion/DisjunctExclusionStrategy.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class DisjunctExclusionStrategy implements ExclusionStrategyInterface
 class DisjunctExclusionStrategy implements ExclusionStrategyInterface
 {
 {

+ 1 - 1
Serializer/Exclusion/ExclusionStrategyInterface.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 /**
 /**
  * Interface for exclusion strategies.
  * Interface for exclusion strategies.

+ 1 - 1
Serializer/Exclusion/NoneExclusionStrategy.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class NoneExclusionStrategy implements ExclusionStrategyInterface
 class NoneExclusionStrategy implements ExclusionStrategyInterface
 {
 {

+ 1 - 1
Serializer/Exclusion/VersionExclusionStrategy.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 namespace JMS\SerializerBundle\Serializer\Exclusion;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class VersionExclusionStrategy
 class VersionExclusionStrategy
 {
 {

+ 1 - 1
Serializer/Naming/CamelCaseNamingStrategy.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Naming;
 namespace JMS\SerializerBundle\Serializer\Naming;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class CamelCaseNamingStrategy implements PropertyNamingStrategyInterface
 class CamelCaseNamingStrategy implements PropertyNamingStrategyInterface
 {
 {

+ 1 - 1
Serializer/Naming/PropertyNamingStrategyInterface.php

@@ -18,7 +18,7 @@
 
 
 namespace JMS\SerializerBundle\Serializer\Naming;
 namespace JMS\SerializerBundle\Serializer\Naming;
 
 
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 /**
 /**
  * Interface for property naming strategies.
  * Interface for property naming strategies.

+ 1 - 1
Serializer/Naming/SerializedNameAnnotationStrategy.php

@@ -19,7 +19,7 @@
 namespace JMS\SerializerBundle\Serializer\Naming;
 namespace JMS\SerializerBundle\Serializer\Naming;
 
 
 use JMS\SerializerBundle\Annotation\SerializedName;
 use JMS\SerializerBundle\Annotation\SerializedName;
-use JMS\SerializerBundle\Mapping\PropertyMetadata;
+use JMS\SerializerBundle\Metadata\PropertyMetadata;
 
 
 class SerializedNameAnnotationStrategy implements PropertyNamingStrategyInterface
 class SerializedNameAnnotationStrategy implements PropertyNamingStrategyInterface
 {
 {

+ 2 - 2
Serializer/SerializerFactory.php

@@ -28,7 +28,7 @@ class SerializerFactory
     public function __construct(ContainerInterface $container, $serializerMap = array())
     public function __construct(ContainerInterface $container, $serializerMap = array())
     {
     {
         $this->container = $container;
         $this->container = $container;
-        $this->serializerMap = array();
+        $this->serializerMap = $serializerMap;
     }
     }
 
 
     public function getSerializer($version = null)
     public function getSerializer($version = null)
@@ -38,7 +38,7 @@ class SerializerFactory
         }
         }
 
 
         if (!isset($this->serializerMap[$version])) {
         if (!isset($this->serializerMap[$version])) {
-            throw new \RuntimeException(sprintf('There was no serializer for version "%s" configured.', $version));
+            throw new \RuntimeException(sprintf('There was no serializer configured for version "%s".', $version));
         }
         }
 
 
         return $this->container->get($this->serializerMap[$version]);
         return $this->container->get($this->serializerMap[$version]);

+ 6 - 6
Tests/Serializer/Normalizer/PropertyBasedNormalizerTest.php

@@ -2,8 +2,9 @@
 
 
 namespace JMS\SerializerBundle\Tests\Serializer\Normalizer;
 namespace JMS\SerializerBundle\Tests\Serializer\Normalizer;
 
 
+use JMS\SerializerBundle\Metadata\MetadataFactory;
+use JMS\SerializerBundle\Metadata\Driver\AnnotationDriver;
 use Annotations\Reader;
 use Annotations\Reader;
-
 use JMS\SerializerBundle\Tests\Fixtures\AllExcludedObject;
 use JMS\SerializerBundle\Tests\Fixtures\AllExcludedObject;
 use JMS\SerializerBundle\Tests\Fixtures\VersionedObject;
 use JMS\SerializerBundle\Tests\Fixtures\VersionedObject;
 use JMS\SerializerBundle\Serializer\Exclusion\DisjunctExclusionStrategy;
 use JMS\SerializerBundle\Serializer\Exclusion\DisjunctExclusionStrategy;
@@ -70,9 +71,8 @@ class PropertyBasedNormalizerTest extends \PHPUnit_Framework_TestCase
 
 
     protected function getNormalizer($version = null)
     protected function getNormalizer($version = null)
     {
     {
-        $reader = new Reader();
-
-        $propertyNamingStrategy = new SerializedNameAnnotationStrategy($reader, new CamelCaseNamingStrategy('_'));
+        $driver = new AnnotationDriver(new Reader());
+        $propertyNamingStrategy = new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy('_'));
 
 
         if (null === $version) {
         if (null === $version) {
             $strategies = array(
             $strategies = array(
@@ -80,7 +80,7 @@ class PropertyBasedNormalizerTest extends \PHPUnit_Framework_TestCase
                 'NONE' => new NoneExclusionStrategy($reader),
                 'NONE' => new NoneExclusionStrategy($reader),
             );
             );
         } else {
         } else {
-            $versionStrategy = new VersionExclusionStrategy($reader, $version);
+            $versionStrategy = new VersionExclusionStrategy($version);
             $strategies = array(
             $strategies = array(
                 'ALL'  => new DisjunctExclusionStrategy(array(
                 'ALL'  => new DisjunctExclusionStrategy(array(
                     $versionStrategy, new AllExclusionStrategy($reader)
                     $versionStrategy, new AllExclusionStrategy($reader)
@@ -92,7 +92,7 @@ class PropertyBasedNormalizerTest extends \PHPUnit_Framework_TestCase
         }
         }
         $exclusionStrategyFactory = new ExclusionStrategyFactory($strategies);
         $exclusionStrategyFactory = new ExclusionStrategyFactory($strategies);
 
 
-        $normalizer = new PropertyBasedNormalizer($reader, $propertyNamingStrategy, $exclusionStrategyFactory);
+        $normalizer = new PropertyBasedNormalizer(new MetadataFactory($driver), $propertyNamingStrategy, $exclusionStrategyFactory);
 
 
         $serializer = new Serializer();
         $serializer = new Serializer();
         $serializer->addNormalizer($normalizer);
         $serializer->addNormalizer($normalizer);

+ 8 - 9
Tests/Serializer/SerializerTest.php

@@ -2,6 +2,10 @@
 
 
 namespace JMS\SerializerBundle\Tests\Serializer;
 namespace JMS\SerializerBundle\Tests\Serializer;
 
 
+use JMS\SerializerBundle\Metadata\Driver\AnnotationDriver;
+
+use JMS\SerializerBundle\Metadata\MetadataFactory;
+
 use JMS\SerializerBundle\Serializer\Exclusion\AllExclusionStrategy;
 use JMS\SerializerBundle\Serializer\Exclusion\AllExclusionStrategy;
 use JMS\SerializerBundle\Serializer\Normalizer\PropertyBasedNormalizer;
 use JMS\SerializerBundle\Serializer\Normalizer\PropertyBasedNormalizer;
 use JMS\SerializerBundle\Tests\Fixtures\Comment;
 use JMS\SerializerBundle\Tests\Fixtures\Comment;
@@ -74,13 +78,8 @@ class SerializerTest extends \PHPUnit_Framework_TestCase
 
 
     private function getSerializer($propertyNamingStrategy = null, $encoders = null, $customNormalizers = null)
     private function getSerializer($propertyNamingStrategy = null, $encoders = null, $customNormalizers = null)
     {
     {
-        $reader = new Reader();
-
         if (null === $propertyNamingStrategy) {
         if (null === $propertyNamingStrategy) {
-            $propertyNamingStrategy = new SerializedNameAnnotationStrategy(
-                $reader,
-                new CamelCaseNamingStrategy()
-            );
+            $propertyNamingStrategy = new SerializedNameAnnotationStrategy(new CamelCaseNamingStrategy());
         }
         }
 
 
         if (null === $encoders) {
         if (null === $encoders) {
@@ -97,13 +96,13 @@ class SerializerTest extends \PHPUnit_Framework_TestCase
         }
         }
 
 
         $exclusionStrategyFactory = new ExclusionStrategyFactory(array(
         $exclusionStrategyFactory = new ExclusionStrategyFactory(array(
-            'ALL'  => new AllExclusionStrategy($reader),
-            'NONE' => new NoneExclusionStrategy($reader),
+            'ALL'  => new AllExclusionStrategy(),
+            'NONE' => new NoneExclusionStrategy(),
         ));
         ));
 
 
         return new Serializer(
         return new Serializer(
             new NativePhpTypeNormalizer(),
             new NativePhpTypeNormalizer(),
-            new PropertyBasedNormalizer($reader, $propertyNamingStrategy, $exclusionStrategyFactory),
+            new PropertyBasedNormalizer(new MetadataFactory(new AnnotationDriver(new Reader())), $propertyNamingStrategy, $exclusionStrategyFactory),
             $customNormalizers,
             $customNormalizers,
             $encoders
             $encoders
         );
         );