LegacyContainerBuilderTest.php in Zircon Profile 8
File
vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php
View source
<?php
namespace Symfony\Component\DependencyInjection\Tests;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference;
class LegacyContainerBuilderTest extends \PHPUnit_Framework_TestCase {
public function testCreateServiceFactoryMethod() {
$builder = new ContainerBuilder();
$builder
->register('bar', 'stdClass');
$builder
->register('foo1', 'Bar\\FooClass')
->setFactoryClass('Bar\\FooClass')
->setFactoryMethod('getInstance')
->addArgument(array(
'foo' => '%value%',
'%value%' => 'foo',
new Reference('bar'),
));
$builder
->setParameter('value', 'bar');
$this
->assertTrue($builder
->get('foo1')->called, '->createService() calls the factory method to create the service instance');
$this
->assertEquals(array(
'foo' => 'bar',
'bar' => 'foo',
$builder
->get('bar'),
), $builder
->get('foo1')->arguments, '->createService() passes the arguments to the factory method');
}
public function testCreateServiceFactoryService() {
$builder = new ContainerBuilder();
$builder
->register('baz_service')
->setFactoryService('baz_factory')
->setFactoryMethod('getInstance');
$builder
->register('baz_factory', 'BazClass');
$this
->assertInstanceOf('BazClass', $builder
->get('baz_service'));
}
}