/** * @test */ public function ifFactoryMethodDoesNotExistOnFactoryServiceFails() { $containerBuilder = new ContainerBuilder(); $factoryDefinition = new Definition('stdClass'); $containerBuilder->setDefinition('factory_service', $factoryDefinition); $definition = new Definition('stdClass'); if (method_exists($definition, 'setFactoryService')) { $definition->setFactoryService('factory_service'); $definition->setFactoryMethod('nonExistingFactoryMethod'); } else { $definition->setFactory(array(new Reference('factory_service'), 'nonExistingFactoryMethod')); } $validator = new ServiceDefinitionValidator($containerBuilder, $this->createMockDefinitionArgumentsValidator(), $this->createMockMethodCallsValidator()); $this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\MethodNotFoundException'); $validator->validate($definition); }
/** * @test */ public function ifFactoryMethodDoesNotExistOnFactoryServiceProvidedByDefinitionFails() { if (!method_exists('Symfony\\Component\\DependencyInjection\\Definition', 'getFactory')) { $this->markTestSkipped('Factory can be provided by service definition since Symfony 2.6'); } $factoryDefinition = new Definition('Matthias\\SymfonyServiceDefinitionValidator\\Tests\\Fixtures\\FactoryClass'); $definition = new Definition('stdClass'); $definition->setFactory(array($factoryDefinition, 'nonExistingFactoryMethod')); $containerBuilder = new ContainerBuilder(); $validator = new ServiceDefinitionValidator($containerBuilder, $this->createMockDefinitionArgumentsValidator(), $this->createMockMethodCallsValidator()); $this->setExpectedException('Matthias\\SymfonyServiceDefinitionValidator\\Exception\\MethodNotFoundException'); $validator->validate($definition); }