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:----vl7uXweATXIuErM7fNkUUVefqhGWF5kWbJQo8ETR1RPzh7C5OlURlsJsgfpCXQHnqZTWs2LaykMOp5Y3oZZ7XRXBIPjzdZY0REnkIn1J80XVzTVlIluIpaRpBKlmSYGAE67GWoFGDzADCtVVR7U5P/EU61h/iDjHf+dxY52iS7kED7S5mNl2GOmynX4ZrWw92OZsmsJqc8JCfsha74VJSgI4whNOZ4DGViVQex7e2Egyi9ot1wL5nv1Ys6hjw2nREMvOwkj5FBPBgRLREaL1sXynAaO2J1ZnI7ZgSDPlCh06WZnM03xyA0QioLML5/C5GRHUjV3pQuI5NM9P/C19pEspsDuiUHz7wJcO4cjBDnn/6t6SDfWmfKBIwAERngLjVENTVpRzApdPQEQHj4xeSBVJwmiNyRU+8ZEUvNL9+hUA3l0LOTBliB2glyfedu2ob5Q3gvmfL1Yp5kTG7Z1KI5jzqFI96jcJWSadDnxkx5f3HN5ifUp7+Z7l2A4jFAgnMZs4LU+KT2gHFmsL9svjKjmllae1EAToQ8oGJgbzZMYgq/1nKfZ+luW1FQyCoLTc3NYg/TohTl52OZG18okgGFVH9c3ggqZgA4JpKr5+TbDCRvC43QIV/tvmuGoAUYGiYvxcd5D+T58oWJVQFfXEY3LKCbUX1/RwjT3oltNUvac=----ATTACHMENT:----MjQzNTIwMTA1NTM2NTM5MyAzODM0MzIzMTQ1NDE0NjI0IDY3NTUwNjA5MjY2MzE2OTA=