CheckExceptionOnInvalidReferenceBehaviorPassTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Symfony\Tests\Component\DependencyInjection\Compiler;
  3. use Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass;
  4. use Symfony\Component\DependencyInjection\Reference;
  5. use Symfony\Component\DependencyInjection\ContainerBuilder;
  6. class CheckExceptionOnInvalidReferenceBehaviorPassTest extends \PHPUnit_Framework_TestCase
  7. {
  8. public function testProcess()
  9. {
  10. $container = new ContainerBuilder();
  11. $container
  12. ->register('a', '\stdClass')
  13. ->addArgument(new Reference('b'))
  14. ;
  15. $container->register('b', '\stdClass');
  16. }
  17. /**
  18. * @expectedException Symfony\Component\DependencyInjection\Exception\NonExistentServiceException
  19. */
  20. public function testProcessThrowsExceptionOnInvalidReference()
  21. {
  22. $container = new ContainerBuilder();
  23. $container
  24. ->register('a', '\stdClass')
  25. ->addArgument(new Reference('b'))
  26. ;
  27. $this->process($container);
  28. }
  29. private function process(ContainerBuilder $container)
  30. {
  31. $pass = new CheckExceptionOnInvalidReferenceBehaviorPass();
  32. $pass->process($container);
  33. }
  34. }