Skip to content

Commit

Permalink
[+]: fix tests for php 7.4
Browse files Browse the repository at this point in the history
  • Loading branch information
voku committed Feb 23, 2023
1 parent 5533caf commit 7ab497b
Showing 1 changed file with 28 additions and 24 deletions.
52 changes: 28 additions & 24 deletions tests/ParserTest.php
Expand Up @@ -86,34 +86,34 @@ public function testSimpleOneClassV4(): void

public function testUnionTypes(): void
{
if (PHP_VERSION_ID >= 80000) {
$phpCode = PhpCodeParser::getPhpFiles(__DIR__ . '/Dummy10.php');
$phpClasses = $phpCode->getClasses();
if (PHP_VERSION_ID < 80000) {
static::markTestSkipped('only for PHP >= 8.0');
}

self::assertSame('int', $phpClasses[Dummy10::class]->constants['FOO3']->type);
self::assertSame('private', $phpClasses[Dummy10::class]->constants['FOO3']->visibility);
self::assertSame(3, $phpClasses[Dummy10::class]->constants['FOO3']->value);
$phpCode = PhpCodeParser::getPhpFiles(__DIR__ . '/Dummy10.php');
$phpClasses = $phpCode->getClasses();

self::assertSame('int', $phpClasses[Dummy10::class]->constants['FOO4']->type);
self::assertSame('public', $phpClasses[Dummy10::class]->constants['FOO4']->visibility);
self::assertSame(-1, $phpClasses[Dummy10::class]->constants['FOO4']->value);
self::assertSame('int', $phpClasses[Dummy10::class]->constants['FOO3']->type);
self::assertSame('private', $phpClasses[Dummy10::class]->constants['FOO3']->visibility);
self::assertSame(3, $phpClasses[Dummy10::class]->constants['FOO3']->value);

self::assertFalse($phpClasses[Dummy10::class]->is_abstract);
self::assertTrue($phpClasses[Dummy10::class]->is_final);
self::assertTrue($phpClasses[Dummy10::class]->is_cloneable);
self::assertTrue($phpClasses[Dummy10::class]->is_instantiable);
self::assertFalse($phpClasses[Dummy10::class]->is_iterable);
self::assertSame('int', $phpClasses[Dummy10::class]->constants['FOO4']->type);
self::assertSame('public', $phpClasses[Dummy10::class]->constants['FOO4']->visibility);
self::assertSame(-1, $phpClasses[Dummy10::class]->constants['FOO4']->value);

static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall1']->getType());
static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall2']->getType());
static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall3']->getType());
self::assertFalse($phpClasses[Dummy10::class]->is_abstract);
self::assertTrue($phpClasses[Dummy10::class]->is_final);
self::assertTrue($phpClasses[Dummy10::class]->is_cloneable);
self::assertTrue($phpClasses[Dummy10::class]->is_instantiable);
self::assertFalse($phpClasses[Dummy10::class]->is_iterable);

$getFieldArray = $phpClasses[Dummy10::class]->methods['getFieldArray'];
static::assertSame('getFieldArray', $getFieldArray->name);
static::assertSame('int|string', $getFieldArray->parameters['RowOffset']->type);
} else {
static::markTestSkipped('only for PHP >= 8.0');
}
static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall1']->getType());
static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall2']->getType());
static::assertSame('null|int', $phpClasses[Dummy10::class]->properties['lall3']->getType());

$getFieldArray = $phpClasses[Dummy10::class]->methods['getFieldArray'];
static::assertSame('getFieldArray', $getFieldArray->name);
static::assertSame('int|string', $getFieldArray->parameters['RowOffset']->type);
}

public function testConstructorPropertyPromotion(): void
Expand Down Expand Up @@ -145,6 +145,10 @@ public function testInheritDocFromInterface(): void

public function testSimpleOneClassWithTrait(): void
{
if (PHP_VERSION_ID < 80000) {
static::markTestSkipped('only for PHP >= 8.0');
}

$phpCode = PhpCodeParser::getPhpFiles(__DIR__ . '/Dummy8.php');
$phpClasses = $phpCode->getClasses();

Expand Down Expand Up @@ -273,7 +277,7 @@ public function testSimpleDirectory(): void
$phpCode = PhpCodeParser::getPhpFiles(
__DIR__ . '/',
[],
['/Dummy5|Dummy1[01]/']
['/Dummy5|Dummy1[01]|Dummy8/']
);

$phpClasses = $phpCode->getClasses();
Expand Down

0 comments on commit 7ab497b

Please sign in to comment.