[DependencyInjection] Add coverage for invalid Expression in exportParameters

This commit is contained in:
JhonnyL 2016-04-10 20:38:01 +02:00
parent ba1cd26237
commit 1931b14a60

View File

@ -16,6 +16,8 @@ use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Variable;
use Symfony\Component\ExpressionLanguage\Expression;
class PhpDumperTest extends \PHPUnit_Framework_TestCase class PhpDumperTest extends \PHPUnit_Framework_TestCase
{ {
@ -85,14 +87,25 @@ class PhpDumperTest extends \PHPUnit_Framework_TestCase
} }
/** /**
* @dataProvider provideInvalidParameters
* @expectedException \InvalidArgumentException * @expectedException \InvalidArgumentException
*/ */
public function testExportParameters() public function testExportParameters($parameters)
{ {
$dumper = new PhpDumper(new ContainerBuilder(new ParameterBag(array('foo' => new Reference('foo'))))); $dumper = new PhpDumper(new ContainerBuilder(new ParameterBag($parameters)));
$dumper->dump(); $dumper->dump();
} }
public function provideInvalidParameters()
{
return array(
array(array('foo' => new Definition('stdClass'))),
array(array('foo' => new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")'))),
array(array('foo' => new Reference('foo'))),
array(array('foo' => new Variable('foo'))),
);
}
public function testAddParameters() public function testAddParameters()
{ {
$container = include self::$fixturesPath.'/containers/container8.php'; $container = include self::$fixturesPath.'/containers/container8.php';