diff --git a/library/Mockery/Mock.php b/library/Mockery/Mock.php index 137294a8e..0e8850886 100644 --- a/library/Mockery/Mock.php +++ b/library/Mockery/Mock.php @@ -724,7 +724,10 @@ public function mockery_returnValueForMethod($name) case 'int': return 0; case 'float': return 0.0; case 'bool': return false; - case 'array': return []; + + case 'array': + case 'iterable': + return []; case 'callable': case '\Closure': @@ -740,9 +743,7 @@ public function mockery_returnValueForMethod($name) return null; case 'object': - if (\PHP_VERSION_ID >= 70200) { - return \Mockery::mock(); - } + return \Mockery::mock(); default: return \Mockery::mock($returnType); diff --git a/phpunit.xml.dist b/phpunit.xml.dist index da1b87c9a..58d56f7a3 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -7,6 +7,7 @@ ./tests ./tests/PHP70 + ./tests/PHP71 ./tests/PHP72 @@ -15,6 +16,7 @@ ./tests/PHP56 ./tests/PHP70 + ./tests/PHP71 ./tests/PHP72 diff --git a/tests/PHP71/Php71LanguageFeaturesTest.php b/tests/PHP71/Php71LanguageFeaturesTest.php new file mode 100644 index 000000000..a0c82df0e --- /dev/null +++ b/tests/PHP71/Php71LanguageFeaturesTest.php @@ -0,0 +1,26 @@ +shouldReceive("returnIterable"); + $this->assertSame([], $mock->returnIterable()); + } +} + +abstract class ReturnTypeIterableTypeHint +{ + public function returnIterable(): iterable + { + } +}