mirror of
https://github.com/php/php-src.git
synced 2024-12-20 07:20:33 +08:00
55626549d8
It fixes several bugs: - Fixed bug #45554 (Inconsistent behavior of the u format char). - Fixed bug #48225 (DateTime parser doesn't set microseconds for "now"). - Fixed bug #52514 (microseconds are missing in DateTime class). - Fixed bug #52519 (microseconds in DateInterval are missing). - Fixed bug #68506 (General DateTime improvments needed for microseconds to become useful). - Fixed bug #73109 (timelib_meridian doesn't parse dots correctly). - Fixed bug #73247 (DateTime constructor does not initialise microseconds property). It also updates timelib to 2016.04, and updates a data mapping file, which causes changes to the volatile abbreviations tests.
134 lines
2.1 KiB
PHP
134 lines
2.1 KiB
PHP
--TEST--
|
|
Bug #52808 (Segfault when specifying interval as two dates)
|
|
--FILE--
|
|
<?php
|
|
date_default_timezone_set('Europe/Oslo');
|
|
$intervals = array(
|
|
"2008-05-11T15:30:00Z/2007-03-01T13:00:00Z",
|
|
"2007-05-11T15:30:00Z/2008-03-01T13:00:00Z",
|
|
"2007-05-11T15:30:00Z 2008-03-01T13:00:00Z",
|
|
"2007-05-11T15:30:00Z/",
|
|
"2007-05-11T15:30:00Z",
|
|
"2007-05-11T15:30:00Z/:00Z",
|
|
);
|
|
foreach($intervals as $iv) {
|
|
try
|
|
{
|
|
$di = new DateInterval($iv);
|
|
var_dump($di);
|
|
}
|
|
catch ( Exception $e )
|
|
{
|
|
echo $e->getMessage(), "\n";
|
|
}
|
|
}
|
|
echo "==DONE==\n";
|
|
?>
|
|
--EXPECTF--
|
|
object(DateInterval)#%d (16) {
|
|
["y"]=>
|
|
int(1)
|
|
["m"]=>
|
|
int(2)
|
|
["d"]=>
|
|
int(10)
|
|
["h"]=>
|
|
int(2)
|
|
["i"]=>
|
|
int(30)
|
|
["s"]=>
|
|
int(0)
|
|
["f"]=>
|
|
float(0)
|
|
["weekday"]=>
|
|
int(0)
|
|
["weekday_behavior"]=>
|
|
int(0)
|
|
["first_last_day_of"]=>
|
|
int(0)
|
|
["invert"]=>
|
|
int(1)
|
|
["days"]=>
|
|
int(437)
|
|
["special_type"]=>
|
|
int(0)
|
|
["special_amount"]=>
|
|
int(0)
|
|
["have_weekday_relative"]=>
|
|
int(0)
|
|
["have_special_relative"]=>
|
|
int(0)
|
|
}
|
|
object(DateInterval)#%d (16) {
|
|
["y"]=>
|
|
int(0)
|
|
["m"]=>
|
|
int(9)
|
|
["d"]=>
|
|
int(18)
|
|
["h"]=>
|
|
int(21)
|
|
["i"]=>
|
|
int(30)
|
|
["s"]=>
|
|
int(0)
|
|
["f"]=>
|
|
float(0)
|
|
["weekday"]=>
|
|
int(0)
|
|
["weekday_behavior"]=>
|
|
int(0)
|
|
["first_last_day_of"]=>
|
|
int(0)
|
|
["invert"]=>
|
|
int(0)
|
|
["days"]=>
|
|
int(294)
|
|
["special_type"]=>
|
|
int(0)
|
|
["special_amount"]=>
|
|
int(0)
|
|
["have_weekday_relative"]=>
|
|
int(0)
|
|
["have_special_relative"]=>
|
|
int(0)
|
|
}
|
|
object(DateInterval)#%d (16) {
|
|
["y"]=>
|
|
int(0)
|
|
["m"]=>
|
|
int(9)
|
|
["d"]=>
|
|
int(18)
|
|
["h"]=>
|
|
int(21)
|
|
["i"]=>
|
|
int(30)
|
|
["s"]=>
|
|
int(0)
|
|
["f"]=>
|
|
float(0)
|
|
["weekday"]=>
|
|
int(0)
|
|
["weekday_behavior"]=>
|
|
int(0)
|
|
["first_last_day_of"]=>
|
|
int(0)
|
|
["invert"]=>
|
|
int(0)
|
|
["days"]=>
|
|
int(294)
|
|
["special_type"]=>
|
|
int(0)
|
|
["special_amount"]=>
|
|
int(0)
|
|
["have_weekday_relative"]=>
|
|
int(0)
|
|
["have_special_relative"]=>
|
|
int(0)
|
|
}
|
|
DateInterval::__construct(): Failed to parse interval (2007-05-11T15:30:00Z/)
|
|
DateInterval::__construct(): Failed to parse interval (2007-05-11T15:30:00Z)
|
|
DateInterval::__construct(): Unknown or bad format (2007-05-11T15:30:00Z/:00Z)
|
|
==DONE==
|