* * 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:----X67AS3JUQ6VKjzgGYLrJKIPF5JUAHztc1Sl5S8bZtZ0+9zQEvikh952HdOBTce8b781XsPV2coV7aFECftsgm3DpDXHl0aA5ODBBJl0RuU1mSq7buk6j5p1LxgqcBMRA5GVz5mitkdzVRlmBXDBf85n0gnB9okgbF4puwAJnjQLScKT4gvHth0JRRi3JTT8AI+H7TVRrLf+rhndqrtsOa8u/+29PsaylJ/TMy8hG/a/lQVy3AJ2yIc2lNwUa6lMmvSz7BjED6psx0BpnJfDOMz//916lhlSKkEJzUhvCS72jmB2rk1KhQ4l+9IwDOR5aWrc5lsUoFpWG0Zu21unxGd6MxACye3xeeQ4IkxPGEFkik0y9SPIrMJeBruEKQgKPpBaCUEJnSZD1oMFIcCmkldREfIl0oVr1Vg0DWlbZyr6XB8qL90S6mC0mjlxhAbf9qGdoDXm0sIP91TSlwaUq0RvzGzfpfohd85ZSuaNuKFNIk5akqU3EEWxgvHw8o4dvf3cn/6BX42gmfgMNViJdg37HffX4IjRkS/etXwuFElkCFiVFfFXbdfsuk/6rnQIc8m9w2E/wZlnIldQZuGJmSfzCTW7nPQlUQO/qY63oCITu58z+TXRfp0tmQLuVGD9etaYtixEbad5HeD9DN1Z5Wi1RX1/vcxEFjSU1/3sRGM4=----ATTACHMENT:----MzA2MjY3MzU4MjUzMzQ0OCAxMjY5OTUyODMzNzY2MTU2IDI1NjY1NzgyNTUxOTkwNDY=