Skip to content

Commit

Permalink
Add return type declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianbergmann committed Mar 12, 2019
1 parent 717cbbf commit 60db534
Show file tree
Hide file tree
Showing 48 changed files with 289 additions and 314 deletions.
12 changes: 6 additions & 6 deletions src/Framework/MockObject/Generator/mocked_class.tpl.dist
Expand Up @@ -6,22 +6,22 @@
private $__phpunit_returnValueGeneration = true;

{clone}{mocked_methods}
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
{method}
public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -30,12 +30,12 @@
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
39 changes: 7 additions & 32 deletions src/Framework/MockObject/MockObject.php
Expand Up @@ -9,45 +9,20 @@
*/
namespace PHPUnit\Framework\MockObject;

use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker as BuilderInvocationMocker;
use PHPUnit\Framework\MockObject\Matcher\Invocation;

/**
* @method InvocationMocker method($constraint)

This comment has been minimized.

Copy link
@possi

possi Apr 5, 2019

Why did you remove all phpDoc?

PHPStan now fails (phpUnit 8.1):

------ -------------------------------------------------------------------------------------------------------- 
  Line   erp/bundles/RetailApiBundle/tests/Services/TransactionImportHandler/CreateNewRetailTransactionTest.php  
 ------ -------------------------------------------------------------------------------------------------------- 
  67     Call to an undefined method                                                                             
         PHPUnit\Framework\MockObject\MockObject::method().                                                      
  70     Call to an undefined method                                                                             
         PHPUnit\Framework\MockObject\MockObject::method().                                                      
  78     Call to an undefined method                                                                             
         PHPUnit\Framework\MockObject\MockObject::method().                                                      
  81     Call to an undefined method                                                                             
         PHPUnit\Framework\MockObject\MockObject::method().    

Usage (phpUnit 8.0.6):
image

This comment has been minimized.

Copy link
@possi

possi Apr 5, 2019

This may be the cause of #3588

This comment has been minimized.

Copy link
@possi

possi Apr 5, 2019

With phpUnit 8.1:
image

Tests itself still running fine

This comment has been minimized.

Copy link
@Ocramius

Ocramius Apr 7, 2019

Contributor

Indeed, this broke downstream static analysis for me as well

*/
interface MockObject /*extends Verifiable*/
{
/**
* @return InvocationMocker
*/
public function __phpunit_setOriginalObject($originalObject);
public function __phpunit_setOriginalObject($originalObject): void;

/**
* @return InvocationMocker
*/
public function __phpunit_getInvocationMocker();
public function __phpunit_getInvocationMocker(): InvocationMocker;

/**
* Verifies that the current expectation is valid. If everything is OK the
* code should just return, if not it must throw an exception.
*
* @throws ExpectationFailedException
*/
public function __phpunit_verify(bool $unsetInvocationMocker = true);
public function __phpunit_verify(bool $unsetInvocationMocker = true): void;

/**
* @return bool
*/
public function __phpunit_hasMatchers();
public function __phpunit_hasMatchers(): bool;

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration);
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void;

/**
* Registers a new expectation in the mock object and returns the match
* object which can be infused with further details.
*
* @return InvocationMocker
*/
public function expects(Invocation $matcher);
public function expects(Invocation $matcher): BuilderInvocationMocker;
}
12 changes: 6 additions & 6 deletions tests/end-to-end/mock-objects/generator/232.phpt
Expand Up @@ -87,7 +87,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $__phpunit_result;
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -100,17 +100,17 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -119,12 +119,12 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
Expand Up @@ -71,7 +71,7 @@ class Issue3154Mock extends Is\Namespaced\Issue3154 implements PHPUnit\Framework
return $__phpunit_result;
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -84,17 +84,17 @@ class Issue3154Mock extends Is\Namespaced\Issue3154 implements PHPUnit\Framework
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -103,12 +103,12 @@ class Issue3154Mock extends Is\Namespaced\Issue3154 implements PHPUnit\Framework
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
12 changes: 6 additions & 6 deletions tests/end-to-end/mock-objects/generator/397.phpt
Expand Up @@ -57,7 +57,7 @@ class MockC extends C implements PHPUnit\Framework\MockObject\MockObject
return $__phpunit_result;
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -70,17 +70,17 @@ class MockC extends C implements PHPUnit\Framework\MockObject\MockObject
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -89,12 +89,12 @@ class MockC extends C implements PHPUnit\Framework\MockObject\MockObject
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
12 changes: 6 additions & 6 deletions tests/end-to-end/mock-objects/generator/abstract_class.phpt
Expand Up @@ -106,7 +106,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $__phpunit_result;
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -119,17 +119,17 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -138,12 +138,12 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
12 changes: 6 additions & 6 deletions tests/end-to-end/mock-objects/generator/class.phpt
Expand Up @@ -84,7 +84,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $__phpunit_result;
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -97,17 +97,17 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -116,12 +116,12 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down
Expand Up @@ -36,7 +36,7 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
parent::__clone();
}

public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher): \PHPUnit\Framework\MockObject\Builder\InvocationMocker
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
Expand All @@ -49,17 +49,17 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return call_user_func_array([$expects, 'method'], func_get_args());
}

public function __phpunit_setOriginalObject($originalObject)
public function __phpunit_setOriginalObject($originalObject): void
{
$this->__phpunit_originalObject = $originalObject;
}

public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration)
public function __phpunit_setReturnValueGeneration(bool $returnValueGeneration): void
{
$this->__phpunit_returnValueGeneration = $returnValueGeneration;
}

public function __phpunit_getInvocationMocker()
public function __phpunit_getInvocationMocker(): \PHPUnit\Framework\MockObject\InvocationMocker
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable, $this->__phpunit_returnValueGeneration);
Expand All @@ -68,12 +68,12 @@ class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
return $this->__phpunit_invocationMocker;
}

public function __phpunit_hasMatchers()
public function __phpunit_hasMatchers(): bool
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}

public function __phpunit_verify(bool $unsetInvocationMocker = true)
public function __phpunit_verify(bool $unsetInvocationMocker = true): void
{
$this->__phpunit_getInvocationMocker()->verify();

Expand Down

0 comments on commit 60db534

Please sign in to comment.