--TEST--
Reflection inheritance
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection properties are read only
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invoke() with base class method
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invoke() with non object or null value
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::getDocComment() uses wrong comment block
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionClass::[gs]etStaticPropertyValue
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionClass::newInstance[Args]
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::__construct() tests
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionFunction basic tests
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionExtension::info()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
$r = new ReflectionExtension("reflection");
--TEST--
ReflectionMethod class - various methods
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod class __toString() and export() methods
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod class getName(), isInternal() and isUserDefined() methods
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod class getFileName(), getStartLine() and getEndLine() methods
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::isConstructor()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::getDeclaringClass()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::getDocComment()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
/**
string(%d) "/**
* My Doc Comment for A::finalStatPubf
- */"
\ No newline at end of file
+ */"
--TEST--
ReflectionMethod::getDocComment() errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class C { function f() {} }
--TEST--
ReflectionMethod::getModifiers()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::getStaticVariables()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
Internal Method:
array(0) {
-}
\ No newline at end of file
+}
--TEST--
ReflectionMethod::invokeArgs()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod:invokeArgs() errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invokeArgs() further errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invokeArgs() further errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invoke()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invoke() errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::invoke() further errors
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionMethod::returnsReference()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #26640 (__autoload() not invoked by Reflection classes)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #26695 (Reflection API does not recognize mixed-case class hints)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
===DONE===
--EXPECT--
string(3) "Foo"
-===DONE===
\ No newline at end of file
+===DONE===
--TEST--
Reflection Bug #29268 (__autoload() not called with reflectionProperty->getClass())
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
function __autoload($classname) {
--TEST--
Reflection Bug #29523 (ReflectionParameter::isOptional() is incorrect)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #29828 (Interfaces no longer work)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
Reflection Bug #29986 (Class constants won't work with predefined constants when using ReflectionClass)
--INI--
precision=14
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class just_constants
--TEST--
Reflection Bug #30146 (ReflectionProperty->getValue() requires instance for static property)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class test {
int(1)
int(2)
int(3)
-===DONE===
\ No newline at end of file
+===DONE===
--TEST--
Reflection Bug #30148 (ReflectionMethod->isConstructor() fails for inherited classes)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
bool(true)
bool(false)
bool(true)
-===DONE===
\ No newline at end of file
+===DONE===
--TEST--
Reflection Bug #30209 (ReflectionClass::getMethod() lowercases attribute)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #30856 (ReflectionClass::getStaticProperties segfaults)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class bogus {
--TEST--
Reflection Bug #30961 (Wrong linenumber in ReflectionClass getStartLine())
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class a
--TEST--
Reflection Bug #31651 (ReflectionClass::getDefaultProperties segfaults with arrays.)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #32981 (ReflectionMethod::getStaticVariables() causes apache2.0.54 seg fault)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #33312 (ReflectionParameter methods do not work correctly)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class Foo {
--TEST--
Reflection Bug #33389 (double free() when exporting a ReflectionClass)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
define ('foobar', 1);
--TEST--
Reflection Bug #36308 (ReflectionProperty::getDocComment() does not reflect extended class commentary)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class Base {
echo $props[0]->getDocComment();
?>
--EXPECT--
-/** Extended commentary */
\ No newline at end of file
+/** Extended commentary */
--TEST--
Reflection Bug #36337 (ReflectionProperty fails to return correct visibility)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #36434 (Properties from parent class fail to indetify their true origin)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class ancester
--TEST--
Bug #37816 (ReflectionProperty does not throw exception when accessing protected attribute)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection Bug #38132 (ReflectionClass::getStaticProperties() retains \0 in key names)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class foo {
--TEST--
Reflection Bug #38194 (ReflectionClass::isSubclassOf() returns TRUE for the class itself)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class Object { }
--TEST--
Bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Bug #38465 (ReflectionParameter fails on access to self::)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class Baz {
--TEST--
Bug #38653 (memory leak in ReflectionClass::getConstant())
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Bug #38942 (Double old-style-ctor inheritance)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class foo {
--TEST--
Bug #39001 (ReflectionProperty returns incorrect declaring class for protected properties)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Bug #39067 (getDeclaringClass() and private properties)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Bug #39884 (ReflectionParameter::getClass() throws exception for type hint self)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
class stubParamTest
--TEST--
Bug #40431 (dynamic properties may cause crash in ReflectionProperty methods)
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Bug #40794 (ReflectionObject::getValues() may crash when used with dynamic properties)
---SKIPIF--
-<?php
-if (!extension_loaded("reflection")) {
- die("skip");
-}
-?>
--FILE--
<?php
--TEST--
Reflection Bug #41061 ("visibility error" in ReflectionFunction::export())
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionParameter Check for parameter being optional
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionParameter::getClass(), getDeclaringClass(), getDeclaringFunction()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection and property_exists()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
ReflectionClass::getExtensionName() method - basic test for getExtensionName() method
--SKIPIF--
-<?php extension_loaded('reflection') && extension_loaded('dom') or die('skip - reflection or dom extension not loaded'); ?>
+<?php extension_loaded('dom') or die('skip - dom extension not loaded'); ?>
--CREDITS--
Rein Velt <rein@velt.org>
#testFest Roosendaal 2008-05-10
--TEST--
ReflectionClass::getExtensionName() method - variation test for getExtensionName()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Rein Velt <rein@velt.org>
#testFest Roosendaal 2008-05-10
var_dump( $rc->getExtensionName()) ;
?>
--EXPECT--
-bool(false)
\ No newline at end of file
+bool(false)
--TEST--
ReflectionClass::getExtension() method - basic test for getExtension() method
--SKIPIF--
-<?php extension_loaded('reflection') && extension_loaded('dom') or die('skip - reflection or dom extension not loaded'); ?>
+<?php extension_loaded('dom') or die('skip - dom extension not loaded'); ?>
--CREDITS--
Rein Velt <rein@velt.org>
#testFest Roosendaal 2008-05-10
object(ReflectionExtension)#%d (1) {
["name"]=>
string(3) "dom"
-}
\ No newline at end of file
+}
--TEST--
ReflectionClass::getExtension() method - variation test for getExtension()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Rein Velt <rein@velt.org>
#testFest Roosendaal 2008-05-10
var_dump( $rc->getExtension()) ;
?>
--EXPECT--
-NULL
\ No newline at end of file
+NULL
--TEST--
ReflectionClass::getInterfaceNames()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Michelangelo van Dam <dragonbe@gmail.com>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::getModifiers()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>
--FILE--
int(128)
int(524288)
int(524416)
-int(0)
\ No newline at end of file
+int(0)
--TEST--
ReflectionClass::getParentClass()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Michelangelo van Dam <dragonbe@gmail.com>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::hasConstant()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Marc Veldman <marc@ibuildings.nl>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::hasMethod()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Marc Veldman <marc@ibuildings.nl>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::hasProperty()
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Marc Veldman <marc@ibuildings.nl>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::isAbstract() method
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::isFinal() method
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::isInterface() method
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>
#testfest roosendaal on 2008-05-10
--TEST--
ReflectionClass::isIterateable() basic
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>, Marc Veldman <marc@ibuildings.nl>
--FILE--
--TEST--
ReflectionClass::isIterateable() variations
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip - reflection extension not loaded'); ?>
--CREDITS--
Felix De Vliegher <felix.devliegher@gmail.com>
--FILE--
--TEST--
Test usage of ReflectionProperty methods __toString(), export(), getName(), isPublic(), isPrivate(), isProtected(), isStatic(), getValue() and setValue().
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test usage of ReflectionProperty methods isDefault(), getModifiers(), getDeclaringClass() and getDocComment().
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty class constructor errors.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty class errors.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::export() usage.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::export() errors.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::getDeclaringClass() with inherited properties.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::getDocComment() usage.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::getDocComment() errors.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::getModifiers() usage.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
C::a5: int(513)
D::a5: int(513)
C::a6: int(1025)
-D::a6: int(3073)
\ No newline at end of file
+D::a6: int(3073)
--TEST--
Test ReflectionProperty::getValue() errors.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::isDefault() usage.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::setAccessible().
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Test ReflectionProperty::setValue() error cases.
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
--TEST--
Reflection and inheriting static properties
---SKIPIF--
-<?php extension_loaded('reflection') or die('skip'); ?>
--FILE--
<?php
base::show(3)
derived::show(3)
Number of properties: 1
-Done
\ No newline at end of file
+Done