Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
430 changes: 268 additions & 162 deletions phpstan-baseline.neon

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion src/Test/ArrayContainSameObjectsConstraint.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
class ArrayContainSameObjectsConstraint extends Constraint
{
/**
* @param mixed[] $expected
* @param object[] $expected
*/
public function __construct(private readonly array $expected)
{
Expand All @@ -22,6 +22,9 @@ public function matches(mixed $other): bool
}

foreach ($other as $key => $element) {
if (!is_object($element)) {
return false;
}
if ($element::class !== $this->expected[$key]::class) {
return false;
}
Expand Down
8 changes: 4 additions & 4 deletions src/Test/ConstraintValidatorTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ abstract protected function getConstraint(): Constraint;
abstract public function createValidator(): ConstraintValidator;

/**
* @param mixed[] $array1
* @param mixed[] $array2
* @param object[] $array1
* @param object[] $array2
*/
protected static function assertArrayContainsSameObjects(array $array1, array $array2, string $message = ''): void
{
Expand All @@ -48,7 +48,7 @@ public function testValidValues(mixed $value): void
/**
* @return iterable<mixed>
*/
abstract public function providerValidValues(): iterable;
abstract public static function providerValidValues(): iterable;

/**
* @dataProvider providerInvalidValues
Expand All @@ -68,5 +68,5 @@ public function testInvalidValues(mixed $value, string $code, string $message, ?
/**
* @return iterable<mixed>
*/
abstract public function providerInvalidValues(): iterable;
abstract public static function providerInvalidValues(): iterable;
}
6 changes: 3 additions & 3 deletions src/Test/FieldConstraintsSetProviderTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ public function testGetConstraintsForType(array $fieldMapping, array $constraint
}

/** @return mixed[] */
abstract public function getConstraintsForTypeProvider(): iterable;
abstract public static function getConstraintsForTypeProvider(): iterable;

/**
* @param mixed[] $array1
* @param mixed[] $array2
* @param object[] $array1
* @param object[] $array2
*/
protected static function assertArrayContainsSameObjects(array $array1, array $array2, string $message = ''): void
{
Expand Down
23 changes: 11 additions & 12 deletions src/Validator/Constraints/EntityValidator.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,14 +65,14 @@ public function validate(mixed $entity, Constraint $constraint): void
// (ex: path is date.start but date is NULL)
try {
$value = $propertyAccessor->getValue($entity, $field);
if ($value instanceof \BackedEnum) {
$value = $value->value;
}
} catch (UnexpectedTypeException $exception) {
$value = null;
}

$validator->atPath($field)->validate($value, $constraints);
$validator->atPath($field)->validate(
$value instanceof \BackedEnum ? $value->value : $value,
$constraints
);
}
}
}
Expand Down Expand Up @@ -131,13 +131,9 @@ public function getConstraints(string $class, string $field): array
}
} elseif (($fieldMapping['type'] & ClassMetadataInfo::TO_MANY) !== 0) {
// ToMany
$constraints[] = new All(
[
'constraints' => [
new Type($fieldMapping['targetEntity']),
],
]
);
$constraints[] = new All([
new Type($fieldMapping['targetEntity']),
]);
} else {
// Unknown
throw new \DomainException('Unknown type: ' . $fieldMapping['type']);
Expand All @@ -162,7 +158,10 @@ private function checkIfFieldNeedsToBeValidated(object $entity, string $field):
return true;
}

/** @return \ReflectionAttribute[] */
/**
* @param \ReflectionClass<object> $reflectionClass
* @return \ReflectionAttribute<object>[]
*/
private function getFieldAttributes(\ReflectionClass $reflectionClass, string $field): array
{
if ($reflectionClass->hasProperty($field)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ public function getConstraints(array $fieldMapping): array
];
}

/** @return int|float */
private function getMinValue(string $type, bool $isSigned)
private function getMinValue(string $type, bool $isSigned): int|float
{
if ($isSigned) {
switch ($type) {
Expand All @@ -59,8 +58,7 @@ private function getMinValue(string $type, bool $isSigned)
return 0;
}

/** @return int|float */
private function getMaxValue(string $type, bool $isSigned)
private function getMaxValue(string $type, bool $isSigned): int|float
{
if ($isSigned) {
switch ($type) {
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/EmailValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public function testEmptyStringIsValid(): void
$this->validator->validate('', new Email());
self::assertNoViolation();
}
public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield [
'format',
Expand Down Expand Up @@ -126,7 +126,7 @@ public function providerInvalidValues(): iterable
];
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield ['valid@mail.com'];
yield ['valid.valid@mail.com'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public function createValidator(): ConstraintValidator
return new EmployerIdentificationNumberValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield 'empty value' => [''];
yield 'null value' => [null];
Expand All @@ -46,7 +46,7 @@ public function testWrongTypeValue(): void
$this->validator->validate($value, $this->getConstraint());
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'EIN in wrong format (no -)' => [
'123456789',
Expand Down
7 changes: 4 additions & 3 deletions tests/Validator/Constraints/EntityValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,10 @@ public function testGetConstraintsForRelationToMany(): void
$constraints = $this->validator->getConstraints('class', 'owningToMany');
self::assertArrayContainsSameObjects(
$constraints,
[new All(['constraints' => [new Type(MyEntityParent::class)]])]
[new All([new Type(MyEntityParent::class)])]
);
self::assertInstanceOf(All::class, $constraints[0]);
self::assertIsArray($constraints[0]->constraints);
self::assertArrayContainsSameObjects(
$constraints[0]->constraints,
[new Type(MyEntityParent::class)]
Expand All @@ -142,12 +143,12 @@ public function testGetConstraintsForUnknownField(): void
$this->validator->getConstraints('class', 'unknown');
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
return [];
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
return [];
}
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/FloatScaleValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ public function createValidator(): ConstraintValidator
return new FloatScaleValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield [2.1];
yield 'not a float value' => ['2.01'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'too precise' => [
0.0001,
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/FrenchRnaValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public function createValidator(): ConstraintValidator
return new FrenchRnaValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield 'empty RNA' => [''];
yield 'null RNA' => [null];
Expand All @@ -39,7 +39,7 @@ public function providerValidValues(): iterable
yield 'Classic Corse 2A RNA' => ['W2A1000119'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'wrong type' => [
42,
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/FrenchSirenValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ public function createValidator(): ConstraintValidator
return new FrenchSirenValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield 'empty value' => [''];
yield 'null value' => [null];
yield 'valid SIREN' => ['732829320'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'wrong type' => [
42,
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/FrenchSiretValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ public function createValidator(): ConstraintValidator
return new FrenchSiretValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield 'empty value' => [''];
yield 'null value' => [null];
yield 'valid SIRET' => ['53077557600040'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'wrong type' => [
42,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public function createValidator(): ConstraintValidator
return new LastDigitsUsSocialSecurityNumberValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield 'empty US SSN' => [''];
yield 'null US SSN' => [null];
Expand All @@ -34,7 +34,7 @@ public function providerValidValues(): iterable
yield 'an other valid US SSN: 9999' => ['9999'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
$invalidMessage = 'The value {{ value }} is not a valid set of ' .
'last four digits of a US Social Security Number.';
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/LatitudeValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ public function createValidator(): ConstraintValidator
return new LatitudeValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield ['18'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
// Skipped as it fails on lowest dependency mode
// yield [
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/LongitudeValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ public function createValidator(): ConstraintValidator
return new LongitudeValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield ['18'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
// Skipped as it fails on parameters comparison in lowest dependency mode
// yield [
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/MoneyValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ public function createValidator(): ConstraintValidator
return new MoneyValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield [18];
yield [18.1];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield 'wrong type' => [
'18',
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/PhoneLandlineValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ public function createValidator(): ConstraintValidator
return new PhoneValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield [null];
yield [''];
yield ['+33123456789'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield [
'+33623456789',
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/PhoneMobileValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ public function createValidator(): ConstraintValidator
return new PhoneValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield [null];
yield [''];
yield ['+33623456789'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield [
'+33123456789',
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/PhoneValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ public function createValidator(): ConstraintValidator
return new PhoneValidator();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
yield [null];
yield [''];
yield ['+33123456789'];
yield ['+33623456789'];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
yield [
'0123456789',
Expand Down
4 changes: 2 additions & 2 deletions tests/Validator/Constraints/PostalValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,12 +157,12 @@ public function testCountryNullWithPostalNull(): void
self::assertNoViolation();
}

public function providerValidValues(): iterable
public static function providerValidValues(): iterable
{
return [];
}

public function providerInvalidValues(): iterable
public static function providerInvalidValues(): iterable
{
return [];
}
Expand Down
Loading
Loading