浏览代码

fixed bug in compiler pass

Johannes M. Schmitt 12 年之前
父节点
当前提交
2309efe970
共有 2 个文件被更改,包括 5 次插入2 次删除
  1. 1 1
      DependencyInjection/Compiler/CustomHandlersPass.php
  2. 4 1
      Tests/PerformanceTest.php

+ 1 - 1
DependencyInjection/Compiler/CustomHandlersPass.php

@@ -54,7 +54,7 @@ class CustomHandlersPass implements CompilerPassInterface
 
                 foreach ($directions as $direction) {
                     $method = isset($methodData['method']) ? $methodData['method'] : HandlerRegistry::getDefaultMethod($direction, $methodData['type'], $methodData['format']);
-                    $handlers[$direction][$methodData['type']][$methodData['type']][$methodData['format']] = array($id, $method);
+                    $handlers[$direction][$methodData['type']][$methodData['format']] = array($id, $method);
                 }
             }
         }

+ 4 - 1
Tests/PerformanceTest.php

@@ -18,6 +18,8 @@
 
 namespace JMS\SerializerBundle\Tests;
 
+use Symfony\Component\DependencyInjection\Compiler\ResolveParameterPlaceHoldersPass;
+
 use Symfony\Component\Translation\MessageSelector;
 
 use Symfony\Component\Translation\IdentityTranslator;
@@ -96,7 +98,7 @@ class PerformanceTest extends \PHPUnit_Framework_TestCase
         $container->set('annotation_reader', new AnnotationReader());
         $container->set('translator', new IdentityTranslator(new MessageSelector()));
         $container->setParameter('kernel.debug', true);
-        $container->setParameter('kernel.cache_dir', sys_get_temp_dir());
+        $container->setParameter('kernel.cache_dir', sys_get_temp_dir().'/serializer');
         $container->setParameter('kernel.bundles', array());
         $extension = new JMSSerializerExtension();
         $extension->load(array(array()), $container);
@@ -106,6 +108,7 @@ class PerformanceTest extends \PHPUnit_Framework_TestCase
 
         $container->getCompilerPassConfig()->setOptimizationPasses(array(
             new ResolveDefinitionTemplatesPass(),
+            new ResolveParameterPlaceHoldersPass(),
         ));
         $container->getCompilerPassConfig()->setRemovingPasses(array());
         $container->compile();