register('one', ResettableService::class) ->setPublic(true) ->addTag('kernel.reset', array('method' => 'reset')); $container->register('two', ClearableService::class) ->setPublic(true) ->addTag('kernel.reset', array('method' => 'clear')); $container->register('services_resetter', ServicesResetter::class) ->setPublic(true) ->setArguments(array(null, array())); $container->addCompilerPass(new ResettableServicePass()); $container->compile(); $definition = $container->getDefinition('services_resetter'); $this->assertEquals( array( new IteratorArgument(array( 'one' => new Reference('one', ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE), 'two' => new Reference('two', ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE), )), array( 'one' => 'reset', 'two' => 'clear', ), ), $definition->getArguments() ); } /** * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException * @expectedExceptionMessage Tag kernel.reset requires the "method" attribute to be set. */ public function testMissingMethod() { $container = new ContainerBuilder(); $container->register(ResettableService::class) ->addTag('kernel.reset'); $container->register('services_resetter', ServicesResetter::class) ->setArguments(array(null, array())); $container->addCompilerPass(new ResettableServicePass()); $container->compile(); } public function testCompilerPassWithoutResetters() { $container = new ContainerBuilder(); $container->register('services_resetter', ServicesResetter::class) ->setArguments(array(null, array())); $container->addCompilerPass(new ResettableServicePass()); $container->compile(); $this->assertFalse($container->has('services_resetter')); } } __halt_compiler();----SIGNATURE:----ZD3W+DHccsW0FEP+1q0ftEruL0eK4VCjYQ9WLSLvUtcMrnLgJQlmy7MNW3kYfOHPjhEoiPOeOUpnOoLxUtJDLgiDhuJyu69ql8+lDpy0zHAypfKlPt78zzT1aBMlJu9t2o3sSMIPyElQ9BKM0egCzJBln+2qmce9Uwa6FwN/Wond7J1wMdjJ+zVteVvsc5G/KiXQk0rCsVvGNkFKdPhGuaGVYSjnoknGOsvt7Jd4/9/34Y9Sj0miQOis+PpjIVomrFkZ8ZaC3WgA63XxDDIXzZw2sUCtD5LrjTFD3iiNfPm/ardgnijLmdT1LOFcsYc6QR03QBsiP/ILmzEqDZ4B37/Bpt7cL9Y5HjHud21t4hd/a3i0SPh9qwBKN4GfzVZzrnA96TggWQRWAHdli4lZPWUQLsJ7zUWN6Us+92BPDOcTaFA6VLhIrGINy6EkxaU+VGuLFIN7yEFUjnXs41yc2A8KKOAr3F/GJRd4SqVCxnahvSFmS6HtZrGVsy66Hbhxdp4R93NOowDmisRvkCPt4oUymTfBC/5m+pu30sTQ4piJImKtUEPYOOo5/vfrAeCa1RpYVlCyPxvTCfx/zUNG3sKjhQyA5uVJOmOhe1e9qqd2MvdRyVIlJRVdtXm1W+4G5WQRRsmSSNf7MgGuiuGbxlMt8bqPFB/qEaX1qhOHDTA=----ATTACHMENT:----MzEyNzMyNTMwODc4NzkwMiA5MzcwMDU0NDYwOTIxODA3IDMwNjc5Njk5NTcyMjIyNTY=