|
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