diff --git a/tasks/phpstan/extensions/PHPUnit5CompatExtension/Type/CreateMockDynamicReturnTypeExtension.php b/tasks/phpstan/extensions/PHPUnit5CompatExtension/Type/CreateMockDynamicReturnTypeExtension.php deleted file mode 100644 index 6f02aee1fe..0000000000 --- a/tasks/phpstan/extensions/PHPUnit5CompatExtension/Type/CreateMockDynamicReturnTypeExtension.php +++ /dev/null @@ -1,9 +0,0 @@ -createMock(SomeMockedClass::class) and other methods in PHPUnit_Framework_TestCase - - class: MailPoet\PHPStan\Extensions\PHPUnit5CompatExtension\Type\CreateMockDynamicReturnTypeExtension - tags: - - phpstan.broker.dynamicMethodReturnTypeExtension - - # resolves return type from $this->getMockBuilder(SomeMockedClass::class) in PHPUnit_Framework_TestCase - - - class: MailPoet\PHPStan\Extensions\PHPUnit5CompatExtension\Type\GetMockBuilderDynamicReturnTypeExtension + class: MailPoet\PHPStan\Extensions\PHPUnit5CompatExtension\Type\MockBuilderDynamicReturnTypeExtension tags: - phpstan.broker.dynamicMethodReturnTypeExtension diff --git a/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockBuilder.php b/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockBuilder.php new file mode 100644 index 0000000000..31ab413f42 --- /dev/null +++ b/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockBuilder.php @@ -0,0 +1,26 @@ + $type + */ + public function __construct(PHPUnit_Framework_TestCase $testCase, $type) { + } + + /** + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&TMockedClass + */ + public function getMock() { + } + + /** + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&TMockedClass + */ + public function getMockForAbstractClass() { + } +} diff --git a/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockObject.php b/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockObject.php new file mode 100644 index 0000000000..d008458806 --- /dev/null +++ b/tasks/phpstan/extensions/PHPUnit5CompatExtension/stubs/MockObject.php @@ -0,0 +1,4 @@ + $originalClassName + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + public function createStub($originalClassName) { + } + + /** + * @template T + * @phpstan-param class-string $originalClassName + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + public function createMock($originalClassName) { + } + + /** + * @template T + * @phpstan-param class-string $className + * @phpstan-return PHPUnit_Framework_MockObject_MockBuilder + */ + public function getMockBuilder(string $className) { + } + + /** + * @template T + * @phpstan-param class-string $originalClassName + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + public function createConfiguredMock($originalClassName) { + } + + /** + * @template T + * @phpstan-param class-string $originalClassName + * @phpstan-param string[] $methods + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + public function createPartialMock($originalClassName, array $methods) { + } + + /** + * @template T + * @phpstan-param class-string $originalClassName + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + public function createTestProxy($originalClassName) { + } + + /** + * @template T + * @phpstan-param class-string $originalClassName + * @phpstan-param string $mockClassName + * @phpstan-param bool $callOriginalConstructor + * @phpstan-param bool $callOriginalClone + * @phpstan-param bool $callAutoload + * @phpstan-param string[] $mockedMethods + * @phpstan-param bool $cloneArguments + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + protected function getMockForAbstractClass($originalClassName, array $arguments = [], $mockClassName = '', $callOriginalConstructor = true, $callOriginalClone = true, $callAutoload = true, $mockedMethods = [], $cloneArguments = false) { + } + + /** + * @template T + * @phpstan-param string $wsdlFile + * @phpstan-param class-string $originalClassName + * @phpstan-param string $mockClassName + * @phpstan-param bool $callOriginalConstructor + * @phpstan-param array $options + * @phpstan-return PHPUnit_Framework_MockObject_MockObject&T + */ + protected function getMockFromWsdl($wsdlFile, $originalClassName = '', $mockClassName = '', array $methods = [], $callOriginalConstructor = true, array $options = []) { + } +}