* * 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\Compiler\DefinitionErrorExceptionPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; class DefinitionErrorExceptionPassTest extends TestCase { /** * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException * @expectedExceptionMessage Things went wrong! */ public function testThrowsException() { $container = new ContainerBuilder(); $def = new Definition(); $def->addError('Things went wrong!'); $def->addError('Now something else!'); $container->register('foo_service_id') ->setArguments(array( $def, )); $pass = new DefinitionErrorExceptionPass(); $pass->process($container); } public function testNoExceptionThrown() { $container = new ContainerBuilder(); $def = new Definition(); $container->register('foo_service_id') ->setArguments(array( $def, )); $pass = new DefinitionErrorExceptionPass(); $pass->process($container); $this->assertSame($def, $container->getDefinition('foo_service_id')->getArgument(0)); } }