diff options
| author | Aaron Piotrowski <aaron@trowski.com> | 2016-08-09 13:54:06 -0500 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2016-08-11 12:19:33 +0200 |
| commit | 622d2f41d1cdb597f4fafecaaacf66e238742bd4 (patch) | |
| tree | dbba2607b7d375597d7f7fc6de1dc2190b9d8dbf /ext/reflection/tests | |
| parent | 283b0cc8a5eeb69b8d77195549b385d1db4f6955 (diff) | |
| download | php-git-622d2f41d1cdb597f4fafecaaacf66e238742bd4.tar.gz | |
ReflectionType improvements
Added ReflectionNamedType and updated ReflectionType::__toString()
Diffstat (limited to 'ext/reflection/tests')
| -rw-r--r-- | ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt | 21 | ||||
| -rw-r--r-- | ext/reflection/tests/ReflectionNamedType.phpt | 41 | ||||
| -rw-r--r-- | ext/reflection/tests/ReflectionType_001.phpt | 2 |
3 files changed, 55 insertions, 9 deletions
diff --git a/ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt b/ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt index c1f9d99f2b..9b2122d1b9 100644 --- a/ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt +++ b/ext/reflection/tests/ReflectionExtension_getClasses_basic.phpt @@ -9,7 +9,7 @@ var_dump($ext->getClasses()); ?> ==DONE== --EXPECT-- -array(15) { +array(16) { ["ReflectionException"]=> object(ReflectionClass)#2 (1) { ["name"]=> @@ -50,38 +50,43 @@ array(15) { ["name"]=> string(14) "ReflectionType" } - ["ReflectionMethod"]=> + ["ReflectionNamedType"]=> object(ReflectionClass)#10 (1) { ["name"]=> + string(19) "ReflectionNamedType" + } + ["ReflectionMethod"]=> + object(ReflectionClass)#11 (1) { + ["name"]=> string(16) "ReflectionMethod" } ["ReflectionClass"]=> - object(ReflectionClass)#11 (1) { + object(ReflectionClass)#12 (1) { ["name"]=> string(15) "ReflectionClass" } ["ReflectionObject"]=> - object(ReflectionClass)#12 (1) { + object(ReflectionClass)#13 (1) { ["name"]=> string(16) "ReflectionObject" } ["ReflectionProperty"]=> - object(ReflectionClass)#13 (1) { + object(ReflectionClass)#14 (1) { ["name"]=> string(18) "ReflectionProperty" } ["ReflectionClassConstant"]=> - object(ReflectionClass)#14 (1) { + object(ReflectionClass)#15 (1) { ["name"]=> string(23) "ReflectionClassConstant" } ["ReflectionExtension"]=> - object(ReflectionClass)#15 (1) { + object(ReflectionClass)#16 (1) { ["name"]=> string(19) "ReflectionExtension" } ["ReflectionZendExtension"]=> - object(ReflectionClass)#16 (1) { + object(ReflectionClass)#17 (1) { ["name"]=> string(23) "ReflectionZendExtension" } diff --git a/ext/reflection/tests/ReflectionNamedType.phpt b/ext/reflection/tests/ReflectionNamedType.phpt new file mode 100644 index 0000000000..1e8f55ac9d --- /dev/null +++ b/ext/reflection/tests/ReflectionNamedType.phpt @@ -0,0 +1,41 @@ +--TEST-- +ReflectionNamedType::getName() and ReflectionNamedType::__toString() +--FILE-- +<?php + +function testInternalTypes(?Traversable $traversable): ?string { + return 'test'; +} + +function testUserDefinedTypes(?Test $traversable): ?Test { + return new Test; +} + +$function = new ReflectionFunction('testInternalTypes'); +$type = $function->getParameters()[0]->getType(); +$return = $function->getReturnType(); + +var_dump($type->getName()); +var_dump((string) $type); +var_dump($return->getName()); +var_dump((string) $return); + +$function = new ReflectionFunction('testUserDefinedTypes'); +$type = $function->getParameters()[0]->getType(); +$return = $function->getReturnType(); + +var_dump($type->getName()); +var_dump((string) $type); +var_dump($return->getName()); +var_dump((string) $return); + +?> +--EXPECTF-- +string(11) "Traversable" +string(12) "?Traversable" +string(6) "string" +string(7) "?string" +string(4) "Test" +string(5) "?Test" +string(4) "Test" +string(5) "?Test" diff --git a/ext/reflection/tests/ReflectionType_001.phpt b/ext/reflection/tests/ReflectionType_001.phpt index f764cf1519..a317566887 100644 --- a/ext/reflection/tests/ReflectionType_001.phpt +++ b/ext/reflection/tests/ReflectionType_001.phpt @@ -94,7 +94,7 @@ string(8) "callable" bool(true) bool(true) bool(false) -string(8) "stdClass" +string(9) "?stdClass" ** Function 0 - Parameter 4 bool(false) ** Function 0 - Parameter 5 |
