fix intersection types in tests

This commit is contained in:
Tobias Schultze 2021-07-21 14:55:43 +02:00
parent c7dc7f8240
commit e5d5e9967f
28 changed files with 82 additions and 66 deletions

View File

@ -29,17 +29,17 @@ use Symfony\Component\Form\ChoiceList\Factory\ChoiceListFactoryInterface;
class DoctrineChoiceLoaderTest extends TestCase
{
/**
* @var ChoiceListFactoryInterface|MockObject
* @var MockObject&ChoiceListFactoryInterface
*/
private $factory;
/**
* @var ObjectManager|MockObject
* @var MockObject&ObjectManager
*/
private $om;
/**
* @var ObjectRepository|MockObject
* @var MockObject&ObjectRepository
*/
private $repository;
@ -49,12 +49,12 @@ class DoctrineChoiceLoaderTest extends TestCase
private $class;
/**
* @var IdReader|MockObject
* @var MockObject&IdReader
*/
private $idReader;
/**
* @var EntityLoaderInterface|MockObject
* @var MockObject&EntityLoaderInterface
*/
private $objectLoader;

View File

@ -59,7 +59,7 @@ class EntityTypeTest extends BaseTypeTest
private $em;
/**
* @var MockObject|ManagerRegistry
* @var MockObject&ManagerRegistry
*/
private $emRegistry;
@ -1312,7 +1312,10 @@ class EntityTypeTest extends BaseTypeTest
$this->assertSame($choiceLoader1, $choiceLoader3);
}
protected function createRegistryMock($name, $em)
/**
* @return MockObject&ManagerRegistry
*/
protected function createRegistryMock($name, $em): ManagerRegistry
{
$registry = $this->createMock(ManagerRegistry::class);
$registry->expects($this->any())

View File

@ -169,7 +169,7 @@ class AnnotationsCacheWarmerTest extends TestCase
/**
* @return MockObject&Reader
*/
private function getReadOnlyReader()
private function getReadOnlyReader(): Reader
{
$readerMock = $this->createMock(Reader::class);
$readerMock->expects($this->exactly(0))->method('getClassAnnotations');

View File

@ -86,7 +86,7 @@ class CachePoolDeleteCommandTest extends TestCase
/**
* @return MockObject&KernelInterface
*/
private function getKernel()
private function getKernel(): KernelInterface
{
$container = $this->createMock(ContainerInterface::class);

View File

@ -53,7 +53,7 @@ class CachePruneCommandTest extends TestCase
/**
* @return MockObject&KernelInterface
*/
private function getKernel()
private function getKernel(): KernelInterface
{
$container = $this->createMock(ContainerInterface::class);
@ -74,7 +74,7 @@ class CachePruneCommandTest extends TestCase
/**
* @return MockObject&PruneableInterface
*/
private function getPruneableInterfaceMock()
private function getPruneableInterfaceMock(): PruneableInterface
{
$pruneable = $this->createMock(PruneableInterface::class);
$pruneable

View File

@ -24,7 +24,7 @@ use Symfony\Component\EventDispatcher\ImmutableEventDispatcher;
class ImmutableEventDispatcherTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&EventDispatcherInterface
*/
private $innerDispatcher;

View File

@ -20,7 +20,6 @@ use Symfony\Component\Form\DataTransformerInterface;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Form\FormFactoryInterface;
use Symfony\Component\Form\FormInterface;
use Symfony\Component\Form\FormValidatorInterface;
abstract class AbstractFormTest extends TestCase
{
@ -30,7 +29,7 @@ abstract class AbstractFormTest extends TestCase
protected $dispatcher;
/**
* @var FormFactoryInterface
* @var MockObject&FormFactoryInterface
*/
protected $factory;
@ -60,18 +59,19 @@ abstract class AbstractFormTest extends TestCase
return new FormBuilder($name, $dataClass, $dispatcher ?: $this->dispatcher, $this->factory, $options);
}
protected function getDataMapper(): MockObject
/**
* @return MockObject&DataMapperInterface
*/
protected function getDataMapper(): DataMapperInterface
{
return $this->createMock(DataMapperInterface::class);
}
protected function getDataTransformer(): MockObject
/**
* @return MockObject&DataTransformerInterface
*/
protected function getDataTransformer(): DataTransformerInterface
{
return $this->createMock(DataTransformerInterface::class);
}
protected function getFormValidator(): MockObject
{
return $this->createMock(FormValidatorInterface::class);
}
}

View File

@ -26,7 +26,7 @@ use Symfony\Component\Form\ChoiceList\View\ChoiceListView;
class CachingFactoryDecoratorTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&ChoiceListFactoryInterface
*/
private $decoratedFactory;

View File

@ -27,7 +27,7 @@ use Symfony\Component\PropertyAccess\PropertyPath;
class PropertyAccessDecoratorTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&ChoiceListFactoryInterface
*/
private $decoratedFactory;

View File

@ -28,15 +28,18 @@ class LazyChoiceListTest extends TestCase
private $list;
/**
* @var MockObject
* @var MockObject&ChoiceListInterface
*/
private $loadedList;
/**
* @var MockObject
* @var MockObject&ChoiceLoaderInterface
*/
private $loader;
/**
* @var \Closure
*/
private $value;
protected function setUp(): void

View File

@ -34,12 +34,12 @@ class FormTypeCsrfExtensionTest_ChildType extends AbstractType
class FormTypeCsrfExtensionTest extends TypeTestCase
{
/**
* @var MockObject
* @var MockObject&CsrfTokenManagerInterface
*/
protected $tokenManager;
/**
* @var MockObject
* @var MockObject&TranslatorInterface
*/
protected $translator;

View File

@ -25,7 +25,7 @@ class DataCollectorExtensionTest extends TestCase
private $extension;
/**
* @var MockObject
* @var MockObject&FormDataCollectorInterface
*/
private $dataCollector;

View File

@ -32,7 +32,7 @@ use Symfony\Component\Form\ResolvedFormTypeFactory;
class FormDataCollectorTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&FormDataExtractorInterface
*/
private $dataExtractor;
@ -42,17 +42,17 @@ class FormDataCollectorTest extends TestCase
private $dataCollector;
/**
* @var MockObject
* @var EventDispatcher
*/
private $dispatcher;
/**
* @var MockObject
* @var FormFactory
*/
private $factory;
/**
* @var MockObject
* @var PropertyPathMapper
*/
private $dataMapper;

View File

@ -41,12 +41,12 @@ class FormDataExtractorTest extends TestCase
private $dataExtractor;
/**
* @var MockObject
* @var MockObject&EventDispatcherInterface
*/
private $dispatcher;
/**
* @var MockObject
* @var MockObject&FormFactoryInterface
*/
private $factory;

View File

@ -26,7 +26,7 @@ class DataCollectorTypeExtensionTest extends TestCase
private $extension;
/**
* @var MockObject
* @var MockObject&FormDataCollectorInterface
*/
private $dataCollector;

View File

@ -33,22 +33,22 @@ use Symfony\Component\Form\Test\FormBuilderInterface;
class FormFactoryTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&FormTypeGuesserInterface
*/
private $guesser1;
/**
* @var MockObject
* @var MockObject&FormTypeGuesserInterface
*/
private $guesser2;
/**
* @var MockObject
* @var MockObject&FormRegistryInterface
*/
private $registry;
/**
* @var MockObject
* @var MockObject&FormBuilderInterface
*/
private $builder;

View File

@ -44,17 +44,17 @@ class FormRegistryTest extends TestCase
private $registry;
/**
* @var MockObject|ResolvedFormTypeFactoryInterface
* @var MockObject&ResolvedFormTypeFactoryInterface
*/
private $resolvedTypeFactory;
/**
* @var MockObject
* @var MockObject&FormTypeGuesserInterface
*/
private $guesser1;
/**
* @var MockObject
* @var MockObject&FormTypeGuesserInterface
*/
private $guesser2;

View File

@ -33,22 +33,22 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
class ResolvedFormTypeTest extends TestCase
{
/**
* @var MockObject|FormTypeInterface
* @var MockObject&FormTypeInterface
*/
private $parentType;
/**
* @var MockObject|FormTypeInterface
* @var MockObject&FormTypeInterface
*/
private $type;
/**
* @var MockObject|FormTypeExtensionInterface
* @var MockObject&FormTypeExtensionInterface
*/
private $extension1;
/**
* @var MockObject|FormTypeExtensionInterface
* @var MockObject&FormTypeExtensionInterface
*/
private $extension2;
@ -373,17 +373,26 @@ class ResolvedFormTypeTest extends TestCase
];
}
private function getMockFormType($typeClass = AbstractType::class): MockObject
/**
* @return MockObject&FormTypeInterface
*/
private function getMockFormType($typeClass = AbstractType::class): FormTypeInterface
{
return $this->getMockBuilder($typeClass)->setMethods(['getBlockPrefix', 'configureOptions', 'finishView', 'buildView', 'buildForm'])->getMock();
}
private function getMockFormTypeExtension(): MockObject
/**
* @return MockObject&FormTypeExtensionInterface
*/
private function getMockFormTypeExtension(): FormTypeExtensionInterface
{
return $this->getMockBuilder(AbstractTypeExtension::class)->setMethods(['getExtendedType', 'configureOptions', 'finishView', 'buildView', 'buildForm'])->getMock();
}
private function getMockFormFactory(): MockObject
/**
* @return MockObject&FormFactoryInterface
*/
private function getMockFormFactory(): FormFactoryInterface
{
return $this->createMock(FormFactoryInterface::class);
}

View File

@ -11,6 +11,7 @@
namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
use MongoDB\Client;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler;
@ -23,7 +24,7 @@ use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandl
class MongoDbSessionHandlerTest extends TestCase
{
/**
* @var MockObject
* @var MockObject&Client
*/
private $mongo;
private $storage;
@ -33,11 +34,11 @@ class MongoDbSessionHandlerTest extends TestCase
{
parent::setUp();
if (!class_exists(\MongoDB\Client::class)) {
if (!class_exists(Client::class)) {
$this->markTestSkipped('The mongodb/mongodb package is required.');
}
$this->mongo = $this->getMockBuilder(\MongoDB\Client::class)
$this->mongo = $this->getMockBuilder(Client::class)
->disableOriginalConstructor()
->getMock();
@ -199,7 +200,7 @@ class MongoDbSessionHandlerTest extends TestCase
$method = new \ReflectionMethod($this->storage, 'getMongo');
$method->setAccessible(true);
$this->assertInstanceOf(\MongoDB\Client::class, $method->invoke($this->storage));
$this->assertInstanceOf(Client::class, $method->invoke($this->storage));
}
private function createMongoCollectionMock(): \MongoDB\Collection

View File

@ -31,7 +31,7 @@ class BundleEntryReaderTest extends TestCase
private $reader;
/**
* @var MockObject
* @var MockObject&BundleEntryReaderInterface
*/
private $readerImpl;

View File

@ -21,7 +21,7 @@ use Symfony\Component\Ldap\Ldap;
class LdapTest extends TestCase
{
/** @var MockObject */
/** @var MockObject&AdapterInterface */
private $adapter;
/** @var Ldap */

View File

@ -51,11 +51,11 @@ class CombinedStoreTest extends AbstractStoreTest
return new CombinedStore([new RedisStore($redis)], new UnanimousStrategy());
}
/** @var MockObject */
/** @var MockObject&StrategyInterface */
private $strategy;
/** @var MockObject */
/** @var MockObject&BlockingStoreInterface */
private $store1;
/** @var MockObject */
/** @var MockObject&BlockingStoreInterface */
private $store2;
/** @var CombinedStore */
private $store;

View File

@ -24,7 +24,7 @@ class SetupTransportsCommandTest extends TestCase
public function testReceiverNames()
{
// mock a service locator
/** @var MockObject|ServiceLocator $serviceLocator */
/** @var MockObject&ServiceLocator $serviceLocator */
$serviceLocator = $this->createMock(ServiceLocator::class);
// get method must be call twice and will return consecutively a setup-able transport and a non setup-able transport
$serviceLocator->expects($this->exactly(2))
@ -49,7 +49,7 @@ class SetupTransportsCommandTest extends TestCase
public function testReceiverNameArgument()
{
// mock a service locator
/** @var MockObject|ServiceLocator $serviceLocator */
/** @var MockObject&ServiceLocator $serviceLocator */
$serviceLocator = $this->createMock(ServiceLocator::class);
// get method must be call twice and will return consecutively a setup-able transport and a non setup-able transport
$serviceLocator->expects($this->exactly(1))
@ -74,7 +74,7 @@ class SetupTransportsCommandTest extends TestCase
$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('The "not_found" transport does not exist.');
// mock a service locator
/** @var MockObject|ServiceLocator $serviceLocator */
/** @var MockObject&ServiceLocator $serviceLocator */
$serviceLocator = $this->createMock(ServiceLocator::class);
// get method must be call twice and will return consecutively a setup-able transport and a non setup-able transport
$serviceLocator->expects($this->exactly(0))

View File

@ -933,7 +933,7 @@ XML;
/**
* @return MockObject&NormalizerInterface
*/
private function createMockDateTimeNormalizer()
private function createMockDateTimeNormalizer(): NormalizerInterface
{
$mock = $this->createMock(CustomNormalizer::class);

View File

@ -36,7 +36,7 @@ class AbstractNormalizerTest extends TestCase
private $normalizer;
/**
* @var ClassMetadataFactoryInterface|MockObject
* @var MockObject&ClassMetadataFactoryInterface
*/
private $classMetadata;

View File

@ -25,7 +25,7 @@ class ArrayDenormalizerTest extends TestCase
private $denormalizer;
/**
* @var SerializerInterface|MockObject
* @var MockObject&SerializerInterface
*/
private $serializer;

View File

@ -31,7 +31,7 @@ class JsonSerializableNormalizerTest extends TestCase
private $normalizer;
/**
* @var MockObject|SerializerInterface
* @var MockObject&JsonSerializerNormalizer
*/
private $serializer;

View File

@ -100,7 +100,7 @@ class TranslatorCacheTest extends TestCase
$catalogue = new MessageCatalogue($locale, []);
$catalogue->addResource(new StaleResource()); // better use a helper class than a mock, because it gets serialized in the cache and re-loaded
/** @var LoaderInterface|MockObject $loader */
/** @var MockObject&LoaderInterface $loader */
$loader = $this->createMock(LoaderInterface::class);
$loader
->expects($this->exactly(2))