* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\DependencyInjection\Tests\Compiler; use PHPUnit\Framework\TestCase; use Symfony\Component\DependencyInjection\Compiler\CheckArgumentsValidityPass; use Symfony\Component\DependencyInjection\ContainerBuilder; /** * @author Kévin Dunglas */ class CheckArgumentsValidityPassTest extends TestCase { public function testProcess() { $container = new ContainerBuilder(); $definition = $container->register('foo'); $definition->setArguments(array(null, 1, 'a')); $definition->setMethodCalls(array( array('bar', array('a', 'b')), array('baz', array('c', 'd')), )); $pass = new CheckArgumentsValidityPass(); $pass->process($container); $this->assertEquals(array(null, 1, 'a'), $container->getDefinition('foo')->getArguments()); $this->assertEquals(array( array('bar', array('a', 'b')), array('baz', array('c', 'd')), ), $container->getDefinition('foo')->getMethodCalls()); } /** * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException * @dataProvider definitionProvider */ public function testException(array $arguments, array $methodCalls) { $container = new ContainerBuilder(); $definition = $container->register('foo'); $definition->setArguments($arguments); $definition->setMethodCalls($methodCalls); $pass = new CheckArgumentsValidityPass(); $pass->process($container); } public function definitionProvider() { return array( array(array(null, 'a' => 'a'), array()), array(array(1 => 1), array()), array(array(), array(array('baz', array(null, 'a' => 'a')))), array(array(), array(array('baz', array(1 => 1)))), ); } public function testNoException() { $container = new ContainerBuilder(); $definition = $container->register('foo'); $definition->setArguments(array(null, 'a' => 'a')); $pass = new CheckArgumentsValidityPass(false); $pass->process($container); $this->assertCount(1, $definition->getErrors()); } } __halt_compiler();----SIGNATURE:----X/Vbs1cuRb6qkY3lykDFEIqejmjjNF6WrLXvZNgJperZOJovt46CB/2bWGk4/SRXGctRPfSXr0kVwNEdRkJwrqx/bgpIwwyxxdOmx/x4+PA21LHFBW2xN+H3J/zbYO4Lxg4QGShex9yxN4edARC0uqaLaQUjJ053G3XOLza5Oaa9QNO2UVFN7GiYpo5Hskri0pZXN3ThT2/tthhH6S5myb/Ftj5wg5ithOQBCjNkbrGUw0UPPEpKrO2LA28OiXtFskXKWQ3MWhp+bY/zLoQYMwhX4BKeDVUzAg75J9wpluISaWlzjpOgv/wpi9F034x1/kMDClMg01ml6vTxN+D4VsfDhLWpo44XChdO6kpCuQCv40KILOtwQdyjOuTw/v3uJRyFx68pJvVMfI562OMaE6Wt9iK3MwHJAfq74N6yUhWqcRZ9L3E0OvvWLRYxRARzli2nabp3ZItkJvRbzkyPFmoNkz+KzrcExDw80eTAWQzNSGy+Z0hUnYD5Mmn79i+YkrvEfkDot6RIuhE1ntMCSMtERZEcaYyFO9eeJYSWoFnEiG/twMenLXsQwcZBhBr+jyil0dTE/F1khaL3ZajA11MwHFubagFAvcbC/pfl47HNbSSwuR00zyO7wo1QE93koGq2juDdhpZHwatys+2miBvT0ThlV9gF1gZ1sIzA4nQ=----ATTACHMENT:----MjI0MjQwMjg2NzQ5MDA0IDQxNDkyOTM3Mzk2MDkzMTggNDcxOTQxODE1MDI3MDg0Mw==