diff --git a/tests/IntegrationTest/Definitions/AutowireDefinition/Php71.php b/tests/IntegrationTest/Definitions/AutowireDefinition/Php71.php new file mode 100644 index 000000000..fc56e83f4 --- /dev/null +++ b/tests/IntegrationTest/Definitions/AutowireDefinition/Php71.php @@ -0,0 +1,17 @@ +param = $param; + } +} diff --git a/tests/IntegrationTest/Definitions/AutowireDefinitionTest.php b/tests/IntegrationTest/Definitions/AutowireDefinitionTest.php index 4374db5f8..7d0e85452 100644 --- a/tests/IntegrationTest/Definitions/AutowireDefinitionTest.php +++ b/tests/IntegrationTest/Definitions/AutowireDefinitionTest.php @@ -7,6 +7,7 @@ use DI\ContainerBuilder; use DI\Test\IntegrationTest\BaseContainerTest; use DI\Test\IntegrationTest\Definitions\AutowireDefinition\OptionalParameterFollowedByRequiredParameter; +use DI\Test\IntegrationTest\Definitions\AutowireDefinition\Php71; use DI\Test\IntegrationTest\Definitions\AutowireDefinitionTest\ConstructorInjection; use DI\Test\IntegrationTest\Definitions\AutowireDefinitionTest\LazyService; use DI\Test\IntegrationTest\Definitions\AutowireDefinitionTest\NullableConstructorParameter; @@ -321,6 +322,22 @@ public function test_optional_parameter_followed_by_required_parameters(Containe self::assertNull($object->first); self::assertInstanceOf(\stdClass::class, $object->second); } + + /** + * @dataProvider provideContainer + */ + public function test_php71_nullable_typehint(ContainerBuilder $builder) + { + if (PHP_VERSION_ID < 70100) { + $this->markTestSkipped('This test cannot run on PHP 7'); + } + + $container = $builder->build(); + + $object = $container->get(Php71::class); + + self::assertEquals(new \stdClass, $object->param); + } } namespace DI\Test\IntegrationTest\Definitions\AutowireDefinitionTest;