1
0
mirror of https://github.com/php/php-src.git synced 2026-03-28 18:22:42 +01:00
Files
archived-php-src/ext/date/tests/DateTime_verify.phpt
Gabriel Caruso bdb8b4fb2b Fix DateTime*::__set_state arginfo
This is a minor BC break, because classes inheriting from DateTime and
overriding __set_state() now have to specify the additional parameter
as well. However, adding the additional parameter also continues to
work on previous versions of PHP, so this change is acceptable for
master.
2018-02-03 16:12:46 +01:00

209 lines
4.0 KiB
PHP

--TEST--
Test DateTime class registration
--FILE--
<?php
echo "*** Verify DateTime class ***\n";
echo "Verify DateTime class registered OK\n";
$class = new ReflectionClass('DateTime');
var_dump($class);
echo "..and get names of all its methods\n";
$methods = $class->getMethods();
var_dump($methods);
echo "..and get names of all its class constants\n";
$constants = $class->getConstants();
var_dump($constants);
echo "..and get __set_state arguments\n";
$method = new ReflectionMethod('DateTime', '__set_state');
var_dump($method->getParameters());
var_dump($method->getParameters()[0]->isOptional());
?>
===DONE===
--EXPECTF--
*** Verify DateTime class ***
Verify DateTime class registered OK
object(ReflectionClass)#%d (1) {
["name"]=>
string(8) "DateTime"
}
..and get names of all its methods
array(19) {
[0]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "__construct"
["class"]=>
string(8) "DateTime"
}
[1]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(8) "__wakeup"
["class"]=>
string(8) "DateTime"
}
[2]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "__set_state"
["class"]=>
string(8) "DateTime"
}
[3]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(19) "createFromImmutable"
["class"]=>
string(8) "DateTime"
}
[4]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(16) "createFromFormat"
["class"]=>
string(8) "DateTime"
}
[5]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(13) "getLastErrors"
["class"]=>
string(8) "DateTime"
}
[6]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(6) "format"
["class"]=>
string(8) "DateTime"
}
[7]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(6) "modify"
["class"]=>
string(8) "DateTime"
}
[8]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(3) "add"
["class"]=>
string(8) "DateTime"
}
[9]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(3) "sub"
["class"]=>
string(8) "DateTime"
}
[10]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "getTimezone"
["class"]=>
string(8) "DateTime"
}
[11]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(11) "setTimezone"
["class"]=>
string(8) "DateTime"
}
[12]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(9) "getOffset"
["class"]=>
string(8) "DateTime"
}
[13]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(7) "setTime"
["class"]=>
string(8) "DateTime"
}
[14]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(7) "setDate"
["class"]=>
string(8) "DateTime"
}
[15]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(10) "setISODate"
["class"]=>
string(8) "DateTime"
}
[16]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(12) "setTimestamp"
["class"]=>
string(8) "DateTime"
}
[17]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(12) "getTimestamp"
["class"]=>
string(8) "DateTime"
}
[18]=>
object(ReflectionMethod)#%d (2) {
["name"]=>
string(4) "diff"
["class"]=>
string(8) "DateTime"
}
}
..and get names of all its class constants
array(13) {
["ATOM"]=>
string(13) "Y-m-d\TH:i:sP"
["COOKIE"]=>
string(16) "l, d-M-Y H:i:s T"
["ISO8601"]=>
string(13) "Y-m-d\TH:i:sO"
["RFC822"]=>
string(16) "D, d M y H:i:s O"
["RFC850"]=>
string(16) "l, d-M-y H:i:s T"
["RFC1036"]=>
string(16) "D, d M y H:i:s O"
["RFC1123"]=>
string(16) "D, d M Y H:i:s O"
["RFC7231"]=>
string(21) "D, d M Y H:i:s \G\M\T"
["RFC2822"]=>
string(16) "D, d M Y H:i:s O"
["RFC3339"]=>
string(13) "Y-m-d\TH:i:sP"
["RFC3339_EXTENDED"]=>
string(15) "Y-m-d\TH:i:s.vP"
["RSS"]=>
string(16) "D, d M Y H:i:s O"
["W3C"]=>
string(13) "Y-m-d\TH:i:sP"
}
..and get __set_state arguments
array(1) {
[0]=>
object(ReflectionParameter)#%d (1) {
["name"]=>
string(5) "array"
}
}
bool(false)
===DONE===