class CheckReferenceValidityPassTest in Service Container 7
Same name and namespace in other branches
- 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php \Symfony\Component\DependencyInjection\Tests\Compiler\CheckReferenceValidityPassTest
Hierarchy
- class \Symfony\Component\DependencyInjection\Tests\Compiler\CheckReferenceValidityPassTest extends \Symfony\Component\DependencyInjection\Tests\Compiler\PHPUnit_Framework_TestCase
Expanded class hierarchy of CheckReferenceValidityPassTest
File
- modules/
providers/ service_container_symfony/ lib/ Symfony/ Component/ DependencyInjection/ Tests/ Compiler/ CheckReferenceValidityPassTest.php, line 20
Namespace
Symfony\Component\DependencyInjection\Tests\CompilerView source
class CheckReferenceValidityPassTest extends \PHPUnit_Framework_TestCase {
public function testProcessIgnoresScopeWideningIfNonStrictReference() {
$container = new ContainerBuilder();
$container
->register('a')
->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
$container
->register('b')
->setScope('prototype');
$this
->process($container);
}
/**
* @expectedException \RuntimeException
*/
public function testProcessDetectsScopeWidening() {
$container = new ContainerBuilder();
$container
->register('a')
->addArgument(new Reference('b'));
$container
->register('b')
->setScope('prototype');
$this
->process($container);
}
public function testProcessIgnoresCrossScopeHierarchyReferenceIfNotStrict() {
$container = new ContainerBuilder();
$container
->addScope(new Scope('a'));
$container
->addScope(new Scope('b'));
$container
->register('a')
->setScope('a')
->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
$container
->register('b')
->setScope('b');
$this
->process($container);
}
/**
* @expectedException \RuntimeException
*/
public function testProcessDetectsCrossScopeHierarchyReference() {
$container = new ContainerBuilder();
$container
->addScope(new Scope('a'));
$container
->addScope(new Scope('b'));
$container
->register('a')
->setScope('a')
->addArgument(new Reference('b'));
$container
->register('b')
->setScope('b');
$this
->process($container);
}
/**
* @expectedException \RuntimeException
*/
public function testProcessDetectsReferenceToAbstractDefinition() {
$container = new ContainerBuilder();
$container
->register('a')
->setAbstract(true);
$container
->register('b')
->addArgument(new Reference('a'));
$this
->process($container);
}
public function testProcess() {
$container = new ContainerBuilder();
$container
->register('a')
->addArgument(new Reference('b'));
$container
->register('b');
$this
->process($container);
}
protected function process(ContainerBuilder $container) {
$pass = new CheckReferenceValidityPass();
$pass
->process($container);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CheckReferenceValidityPassTest:: |
protected | function | ||
CheckReferenceValidityPassTest:: |
public | function | ||
CheckReferenceValidityPassTest:: |
public | function | @expectedException \RuntimeException | |
CheckReferenceValidityPassTest:: |
public | function | @expectedException \RuntimeException | |
CheckReferenceValidityPassTest:: |
public | function | @expectedException \RuntimeException | |
CheckReferenceValidityPassTest:: |
public | function | ||
CheckReferenceValidityPassTest:: |
public | function |