class DecoratorServicePassTest in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php \Symfony\Component\DependencyInjection\Tests\Compiler\DecoratorServicePassTest
Hierarchy
- class \Symfony\Component\DependencyInjection\Tests\Compiler\DecoratorServicePassTest extends \Symfony\Component\DependencyInjection\Tests\Compiler\PHPUnit_Framework_TestCase
Expanded class hierarchy of DecoratorServicePassTest
File
- vendor/
symfony/ dependency-injection/ Tests/ Compiler/ DecoratorServicePassTest.php, line 9
Namespace
Symfony\Component\DependencyInjection\Tests\CompilerView source
class DecoratorServicePassTest extends \PHPUnit_Framework_TestCase {
public function testProcessWithoutAlias() {
$container = new ContainerBuilder();
$fooDefinition = $container
->register('foo')
->setPublic(false);
$fooExtendedDefinition = $container
->register('foo.extended')
->setPublic(true)
->setDecoratedService('foo');
$barDefinition = $container
->register('bar')
->setPublic(true);
$barExtendedDefinition = $container
->register('bar.extended')
->setPublic(true)
->setDecoratedService('bar', 'bar.yoo');
$this
->process($container);
$this
->assertEquals('foo.extended', $container
->getAlias('foo'));
$this
->assertFalse($container
->getAlias('foo')
->isPublic());
$this
->assertEquals('bar.extended', $container
->getAlias('bar'));
$this
->assertTrue($container
->getAlias('bar')
->isPublic());
$this
->assertSame($fooDefinition, $container
->getDefinition('foo.extended.inner'));
$this
->assertFalse($container
->getDefinition('foo.extended.inner')
->isPublic());
$this
->assertSame($barDefinition, $container
->getDefinition('bar.yoo'));
$this
->assertFalse($container
->getDefinition('bar.yoo')
->isPublic());
$this
->assertNull($fooExtendedDefinition
->getDecoratedService());
$this
->assertNull($barExtendedDefinition
->getDecoratedService());
}
public function testProcessWithAlias() {
$container = new ContainerBuilder();
$container
->register('foo')
->setPublic(true);
$container
->setAlias('foo.alias', new Alias('foo', false));
$fooExtendedDefinition = $container
->register('foo.extended')
->setPublic(true)
->setDecoratedService('foo.alias');
$this
->process($container);
$this
->assertEquals('foo.extended', $container
->getAlias('foo.alias'));
$this
->assertFalse($container
->getAlias('foo.alias')
->isPublic());
$this
->assertEquals('foo', $container
->getAlias('foo.extended.inner'));
$this
->assertFalse($container
->getAlias('foo.extended.inner')
->isPublic());
$this
->assertNull($fooExtendedDefinition
->getDecoratedService());
}
protected function process(ContainerBuilder $container) {
$repeatedPass = new DecoratorServicePass();
$repeatedPass
->process($container);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DecoratorServicePassTest:: |
protected | function | ||
DecoratorServicePassTest:: |
public | function | ||
DecoratorServicePassTest:: |
public | function |