From 7e805eae2bb29745d735c41678a7ba16eec1903d Mon Sep 17 00:00:00 2001 From: renanbr Date: Fri, 12 Apr 2019 14:54:30 +0200 Subject: [PATCH] more tests --- .../DependencyInjection/Tests/Fixtures/Bar.php | 3 +++ .../Tests/Fixtures/xml/defaults_bindings.xml | 15 +++++++++++++++ .../Tests/Fixtures/xml/defaults_bindings2.xml | 10 ++++++++++ .../Tests/Fixtures/yaml/defaults_bindings.yml | 2 +- .../Tests/Fixtures/yaml/defaults_bindings2.yml | 2 +- .../Tests/Loader/XmlFileLoaderTest.php | 17 +++++++++++++++++ .../Tests/Loader/YamlFileLoaderTest.php | 2 +- 7 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings.xml create mode 100644 src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings2.xml diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php index 83f2da12a70a..1aaca2f1560c 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/Bar.php @@ -13,8 +13,11 @@ class Bar implements BarInterface { + public $quz; + public function __construct($quz = null, \NonExistent $nonExistent = null, BarInterface $decorated = null, array $foo = []) { + $this->quz = $quz; } public static function create(\NonExistent $nonExistent = null, $factory = null) diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings.xml b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings.xml new file mode 100644 index 000000000000..d943dfad2d7f --- /dev/null +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings.xml @@ -0,0 +1,15 @@ + + + + + value + + value + + + + + + + + diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings2.xml b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings2.xml new file mode 100644 index 000000000000..db41330f854e --- /dev/null +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/defaults_bindings2.xml @@ -0,0 +1,10 @@ + + + + + overridden + + + + + diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings.yml b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings.yml index 2e054f563dd2..ca5e5048de12 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings.yml +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings.yml @@ -8,4 +8,4 @@ services: class: Symfony\Component\DependencyInjection\Tests\Fixtures\Bar foo: - class: Symfony\Component\DependencyInjection\Tests\Fixtures\FactoryDummy + class: stdClass diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings2.yml b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings2.yml index 75e98345267d..01fc5af62458 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings2.yml +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/defaults_bindings2.yml @@ -1,7 +1,7 @@ services: _defaults: bind: - $quz: ~ + $quz: overridden bar: class: Symfony\Component\DependencyInjection\Tests\Fixtures\Bar diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php index d89887acca9e..03376a641dcc 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php @@ -17,6 +17,7 @@ use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\Config\Resource\GlobResource; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; +use Symfony\Component\DependencyInjection\Compiler\ResolveBindingsPass; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Dumper\PhpDumper; use Symfony\Component\DependencyInjection\Loader\IniFileLoader; @@ -820,4 +821,20 @@ public function testTsantosContainer() $dump = $dumper->dump(); $this->assertStringEqualsFile(self::$fixturesPath.'/php/services_tsantos.php', $dumper->dump()); } + + /** + * The pass may throw an exception, which will cause the test to fail. + */ + public function testOverriddenDefaultsBindings() + { + $container = new ContainerBuilder(); + + $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')); + $loader->load('defaults_bindings.xml'); + $loader->load('defaults_bindings2.xml'); + + (new ResolveBindingsPass())->process($container); + + $this->assertSame('overridden', $container->get('bar')->quz); + } } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php index 001fa33e597e..05521bf7846f 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php @@ -747,6 +747,6 @@ public function testOverriddenDefaultsBindings() (new ResolveBindingsPass())->process($container); - $this->assertTrue(true); + $this->assertSame('overridden', $container->get('bar')->quz); } }