1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<?php
declare(strict_types=1);
use Nette\Schema\Helpers;
use Tester\Assert;
require __DIR__ . '/../bootstrap.php';
require __DIR__ . '/fixtures/Helpers.getPropertyType.php';
if (!class_exists(Nette\Utils\Type::class)) {
Tester\Environment::skip('Expect::from() requires nette/utils 3.x');
}
Assert::null(Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'noType')));
Assert::same('Test\B', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'classType')));
Assert::same('string', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'nativeType')));
Assert::same('NS\A', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'selfType')));
Assert::same('?Test\B', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'nullableClassType')));
Assert::same('?string', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'nullableNativeType')));
Assert::same('?NS\A', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'nullableSelfType')));
Assert::same('Test\B', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'annotationClassType')));
Assert::same('Test\B|null|string', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'annotationUnionType')));
Assert::same('string', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'annotationNativeType')));
Assert::same('NS\A', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'annotationSelfType')));
Assert::same('?Test\B', Helpers::getPropertyType(new ReflectionProperty(NS\A::class, 'annotationNullable')));
|