From 092403909eae907f4c9d19090864b0a38c1a8e84 Mon Sep 17 00:00:00 2001 From: yclian Date: Sun, 20 Feb 2011 20:23:40 +0800 Subject: [PATCH] [DependencyInjection] Test for Symfony\Component\DependencyInjection\Compiler\ReplaceAliasByActualDefinitionPass. --- ...ReplaceAliasByActualDefinitionPassTest.php | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/Symfony/Tests/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPassTest.php diff --git a/tests/Symfony/Tests/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPassTest.php b/tests/Symfony/Tests/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPassTest.php new file mode 100644 index 0000000000..96ac2573df --- /dev/null +++ b/tests/Symfony/Tests/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPassTest.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Tests\Component\DependencyInjection\Compiler; + +use Symfony\Component\DependencyInjection\Compiler\ReplaceAliasByActualDefinitionPass; +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Definition; + +class ReplaceAliasByActualDefinitionPassTest extends \PHPUnit_Framework_TestCase +{ + public function testProcess() + { + $container = new ContainerBuilder(); + + $container->register('a', '\stdClass'); + + $bDefinition = new Definition('\stdClass'); + $bDefinition->setPublic(false); + $container->setDefinition('b', $bDefinition); + + $container->setAlias('a_alias', 'a'); + $container->setAlias('b_alias', 'b'); + + $this->process($container); + + $this->assertTrue($container->has('a'), '->process() does nothing to public definitions.'); + $this->assertTrue($container->hasAlias('a_alias')); + $this->assertFalse($container->has('b'), '->process() removes non-public definitions.'); + $this->assertTrue( + $container->has('b_alias') && !$container->hasAlias('b_alias'), + '->process() replaces alias to actual.' + ); + } + + protected function process(ContainerBuilder $container) + { + $pass = new ReplaceAliasByActualDefinitionPass(); + $pass->process($container); + } +}