|
18 | 18 | use PHPStan\Type\Constant\ConstantStringType; |
19 | 19 | use PHPStan\Type\Enum\EnumCaseObjectType; |
20 | 20 | use PHPUnit\Framework\Attributes\DataProvider; |
| 21 | +use PHPUnit\Framework\Attributes\RequiresPhp; |
21 | 22 | use stdClass; |
22 | 23 | use Test\ClassWithToString; |
23 | 24 | use Traversable; |
24 | 25 | use function count; |
25 | 26 | use function sprintf; |
26 | | -use const PHP_VERSION_ID; |
27 | 27 |
|
28 | 28 | class IntersectionTypeTest extends PHPStanTestCase |
29 | 29 | { |
@@ -357,35 +357,18 @@ public function testToBooleanCrash(): void |
357 | 357 | $this->assertSame('true', $type->toBoolean()->describe(VerbosityLevel::precise())); |
358 | 358 | } |
359 | 359 |
|
360 | | - public static function dataGetEnumCases(): iterable |
| 360 | + #[RequiresPhp('>= 8.1')] |
| 361 | + public function testGetEnumCases(): void |
361 | 362 | { |
362 | | - if (PHP_VERSION_ID < 80100) { |
363 | | - return []; |
364 | | - } |
365 | | - |
366 | 363 | $reflectionProvider = self::createReflectionProvider(); |
367 | 364 | $classReflection = $reflectionProvider->getClass(FooEnum::class); |
368 | | - |
369 | | - yield [ |
370 | | - new IntersectionType([ |
371 | | - new ThisType($classReflection), |
372 | | - new EnumCaseObjectType(FooEnum::class, 'FOO'), |
373 | | - ]), |
374 | | - [ |
375 | | - new EnumCaseObjectType(FooEnum::class, 'FOO'), |
376 | | - ], |
| 365 | + $type = new IntersectionType([ |
| 366 | + new ThisType($classReflection), |
| 367 | + new EnumCaseObjectType(FooEnum::class, 'FOO'), |
| 368 | + ]); |
| 369 | + $expectedEnumCases = [ |
| 370 | + new EnumCaseObjectType(FooEnum::class, 'FOO'), |
377 | 371 | ]; |
378 | | - } |
379 | | - |
380 | | - /** |
381 | | - * @param list<EnumCaseObjectType> $expectedEnumCases |
382 | | - */ |
383 | | - #[DataProvider('dataGetEnumCases')] |
384 | | - public function testGetEnumCases( |
385 | | - IntersectionType $type, |
386 | | - array $expectedEnumCases, |
387 | | - ): void |
388 | | - { |
389 | 372 | $enumCases = $type->getEnumCases(); |
390 | 373 | $this->assertCount(count($expectedEnumCases), $enumCases); |
391 | 374 | foreach ($enumCases as $i => $enumCase) { |
|
0 commit comments