class CheckDefinitionValidityPassTest in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php \Symfony\Component\DependencyInjection\Tests\Compiler\CheckDefinitionValidityPassTest
Hierarchy
- class \Symfony\Component\DependencyInjection\Tests\Compiler\CheckDefinitionValidityPassTest extends \Symfony\Component\DependencyInjection\Tests\Compiler\PHPUnit_Framework_TestCase
Expanded class hierarchy of CheckDefinitionValidityPassTest
File
- vendor/
symfony/ dependency-injection/ Tests/ Compiler/ CheckDefinitionValidityPassTest.php, line 18
Namespace
Symfony\Component\DependencyInjection\Tests\CompilerView source
class CheckDefinitionValidityPassTest extends \PHPUnit_Framework_TestCase {
/**
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
*/
public function testProcessDetectsSyntheticNonPublicDefinitions() {
$container = new ContainerBuilder();
$container
->register('a')
->setSynthetic(true)
->setPublic(false);
$this
->process($container);
}
/**
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
*/
public function testProcessDetectsSyntheticPrototypeDefinitions() {
$container = new ContainerBuilder();
$container
->register('a')
->setSynthetic(true)
->setScope(ContainerInterface::SCOPE_PROTOTYPE);
$this
->process($container);
}
/**
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
*/
public function testProcessDetectsNonSyntheticNonAbstractDefinitionWithoutClass() {
$container = new ContainerBuilder();
$container
->register('a')
->setSynthetic(false)
->setAbstract(false);
$this
->process($container);
}
/**
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
* @group legacy
*/
public function testLegacyProcessDetectsBothFactorySyntaxesUsed() {
$container = new ContainerBuilder();
$container
->register('a')
->setFactory(array(
'a',
'b',
))
->setFactoryClass('a');
$this
->process($container);
}
public function testProcess() {
$container = new ContainerBuilder();
$container
->register('a', 'class');
$container
->register('b', 'class')
->setSynthetic(true)
->setPublic(true);
$container
->register('c', 'class')
->setAbstract(true);
$container
->register('d', 'class')
->setSynthetic(true);
$this
->process($container);
}
public function testValidTags() {
$container = new ContainerBuilder();
$container
->register('a', 'class')
->addTag('foo', array(
'bar' => 'baz',
));
$container
->register('b', 'class')
->addTag('foo', array(
'bar' => null,
));
$container
->register('c', 'class')
->addTag('foo', array(
'bar' => 1,
));
$container
->register('d', 'class')
->addTag('foo', array(
'bar' => 1.1,
));
$this
->process($container);
}
/**
* @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
*/
public function testInvalidTags() {
$container = new ContainerBuilder();
$container
->register('a', 'class')
->addTag('foo', array(
'bar' => array(
'baz' => 'baz',
),
));
$this
->process($container);
}
protected function process(ContainerBuilder $container) {
$pass = new CheckDefinitionValidityPass();
$pass
->process($container);
}
}