* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Tests\Compiler; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; use Symfony\Component\DependencyInjection\Compiler\ResolveHotPathPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; class ResolveHotPathPassTest extends TestCase { public function testProcess() { $container = new ContainerBuilder(); $container->register('foo') ->addTag('container.hot_path') ->addArgument(new IteratorArgument(array(new Reference('lazy')))) ->addArgument(new Reference('service_container')) ->addArgument(new Definition('', array(new Reference('bar')))) ->addArgument(new Reference('baz', ContainerBuilder::IGNORE_ON_UNINITIALIZED_REFERENCE)) ->addArgument(new Reference('missing')) ; $container->register('lazy'); $container->register('bar') ->addArgument(new Reference('buz')) ->addArgument(new Reference('deprec_ref_notag')); $container->register('baz') ->addArgument(new Reference('lazy')) ->addArgument(new Reference('lazy')); $container->register('buz'); $container->register('deprec_with_tag')->setDeprecated()->addTag('container.hot_path'); $container->register('deprec_ref_notag')->setDeprecated(); (new ResolveHotPathPass())->process($container); $this->assertFalse($container->getDefinition('lazy')->hasTag('container.hot_path')); $this->assertTrue($container->getDefinition('bar')->hasTag('container.hot_path')); $this->assertTrue($container->getDefinition('buz')->hasTag('container.hot_path')); $this->assertFalse($container->getDefinition('baz')->hasTag('container.hot_path')); $this->assertFalse($container->getDefinition('service_container')->hasTag('container.hot_path')); $this->assertFalse($container->getDefinition('deprec_with_tag')->hasTag('container.hot_path')); $this->assertFalse($container->getDefinition('deprec_ref_notag')->hasTag('container.hot_path')); } } __halt_compiler();----SIGNATURE:----f0hFHu+l68Acrsu7GeJFxBxxZBXSSyFLfGWeFwu1VPg3uCdMMEW2vLvNXhfCWYyuffQ7kir6kO2aX35mRqBFTAurSboeaMZIVFQS5EduomU7zI8aLRPkxrCKtSkuEKVa+kvhs/heotwgNijywgohtXA2yeLmFIL0CoVwOyEz35URldlXJ19I6AreF73/xSo8mtzw60Os01twFmJzxmlNmRbKbQnT8zXNerOMPZYfKlumZp/f1U+r+zAw3H+hBbOBtg0FEUZC3JFTFIfCF5P2jGfrpchpuHEdF+OY8oUmToWeUrkvvhU0xXsmfkjaHySE21b2niTHwOW1qyU8Aoao+8PYOg1Y5ZkmXMfZtfKSUJo7Dq0U/2Sw9cri1VSYGDNohRuWjeh0tDHiT8K6UbIVMr+VdU33rLckyVDi3xM56V3lK+OI8HNAR1aeYt+WoPisUMioj07ytxoENNF34Yncr/YSK0dgK2MsvgcRsR0+gaH+iL6qx+TjJYWgseCtcElXQO8D3Y9vZq/tFi/2cSI2MREYmMDsr6DslMCyX9OWjI1UxrMoi8EGAOPRTUfWyMnLRvONvG0Ftv0EmH5UYrd0p/Sc6b5u8NuLVyyXyOnop47L85yQEJyrf76llpJGFks6JI7aA2fYpizA42lcfjJT6dxHELQRJHp8NLdZByIN650=----ATTACHMENT:----MTQyMzIxNDQ3NTE3OTAxMiAzMTgwODEyNzk4NDQyNzE1IDc3MDQ5MTkxNjQ3NjI3NzM=