diff options
Diffstat (limited to 'ext/reflection/tests/ReflectionObject_isInstantiable_variation.phpt')
-rw-r--r-- | ext/reflection/tests/ReflectionObject_isInstantiable_variation.phpt | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/ext/reflection/tests/ReflectionObject_isInstantiable_variation.phpt b/ext/reflection/tests/ReflectionObject_isInstantiable_variation.phpt new file mode 100644 index 0000000..ac7199c --- /dev/null +++ b/ext/reflection/tests/ReflectionObject_isInstantiable_variation.phpt @@ -0,0 +1,78 @@ +--TEST-- +ReflectionObject::IsInstantiable() - variation - constructors +--FILE-- +<?php + +class noCtor { + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class publicCtorNew { + public function __construct() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class protectedCtorNew { + protected function __construct() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class privateCtorNew { + private function __construct() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class publicCtorOld { + public function publicCtorOld() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class protectedCtorOld { + protected function protectedCtorOld() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + +class privateCtorOld { + private function privateCtorOld() {} + public static function reflectionObjectFactory() { + return new ReflectionObject(new self); + } +} + + +$reflectionObjects = array( + noCtor::reflectionObjectFactory(), + publicCtorNew::reflectionObjectFactory(), + protectedCtorNew::reflectionObjectFactory(), + privateCtorNew::reflectionObjectFactory(), + publicCtorOld::reflectionObjectFactory(), + protectedCtorOld::reflectionObjectFactory(), + privateCtorOld::reflectionObjectFactory() + ); + +foreach($reflectionObjects as $reflectionObject ) { + $name = $reflectionObject->getName(); + echo "Is $name instantiable? "; + var_dump($reflectionObject->IsInstantiable()); +} +?> +--EXPECTF-- +Is noCtor instantiable? bool(true) +Is publicCtorNew instantiable? bool(true) +Is protectedCtorNew instantiable? bool(false) +Is privateCtorNew instantiable? bool(false) +Is publicCtorOld instantiable? bool(true) +Is protectedCtorOld instantiable? bool(false) +Is privateCtorOld instantiable? bool(false) |