diff options
Diffstat (limited to 'ext/date/tests/bug52808.phpt')
| -rw-r--r-- | ext/date/tests/bug52808.phpt | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/ext/date/tests/bug52808.phpt b/ext/date/tests/bug52808.phpt new file mode 100644 index 0000000..e031ac6 --- /dev/null +++ b/ext/date/tests/bug52808.phpt @@ -0,0 +1,85 @@ +--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 (8) { + ["y"]=> + int(1) + ["m"]=> + int(2) + ["d"]=> + int(10) + ["h"]=> + int(2) + ["i"]=> + int(30) + ["s"]=> + int(0) + ["invert"]=> + int(1) + ["days"]=> + int(437) +} +object(DateInterval)#%d (8) { + ["y"]=> + int(0) + ["m"]=> + int(9) + ["d"]=> + int(18) + ["h"]=> + int(21) + ["i"]=> + int(30) + ["s"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + int(294) +} +object(DateInterval)#%d (8) { + ["y"]=> + int(0) + ["m"]=> + int(9) + ["d"]=> + int(18) + ["h"]=> + int(21) + ["i"]=> + int(30) + ["s"]=> + int(0) + ["invert"]=> + int(0) + ["days"]=> + int(294) +} +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== |
