Skip to content

Commit

Permalink
Merge pull request #1075 from GrahamCampbell/patch-1
Browse files Browse the repository at this point in the history
[1.3] Support iterable and removed uneeded check
  • Loading branch information
davedevelopment committed Jul 8, 2020
2 parents 42daaa7 + 48b23ad commit f3626ba
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 4 deletions.
9 changes: 5 additions & 4 deletions library/Mockery/Mock.php
Expand Up @@ -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':
Expand All @@ -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);
Expand Down
2 changes: 2 additions & 0 deletions phpunit.xml.dist
Expand Up @@ -7,6 +7,7 @@
<testsuite name="Mockery Test Suite">
<directory suffix="Test.php">./tests</directory>
<directory phpVersion="7.0.0" phpVersionOperator=">=">./tests/PHP70</directory>
<directory phpVersion="7.1.0" phpVersionOperator=">=">./tests/PHP71</directory>
<directory phpVersion="7.2.0" phpVersionOperator=">=">./tests/PHP72</directory>
</testsuite>

Expand All @@ -15,6 +16,7 @@
<directory suffix="Test.php">./tests/PHP56</directory>

<exclude>./tests/PHP70</exclude>
<exclude>./tests/PHP71</exclude>
<exclude>./tests/PHP72</exclude>
</testsuite>
</testsuites>
Expand Down
26 changes: 26 additions & 0 deletions tests/PHP71/Php71LanguageFeaturesTest.php
@@ -0,0 +1,26 @@
<?php

namespace test\Mockery;

use Mockery\Adapter\Phpunit\MockeryTestCase;

/**
* @requires PHP 7.1.0-dev
*/
class Php71LanguageFeaturesTest extends MockeryTestCase
{
public function testMockingIterableReturnType()
{
$mock = mock("test\Mockery\ReturnTypeIterableTypeHint");

$mock->shouldReceive("returnIterable");
$this->assertSame([], $mock->returnIterable());
}
}

abstract class ReturnTypeIterableTypeHint
{
public function returnIterable(): iterable
{
}
}

0 comments on commit f3626ba

Please sign in to comment.