Annotation of embedaddon/php/ext/date/tests/bug52113.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #52113 (Seg fault while creating (by unserialization) DatePeriod)
! 3: --INI--
! 4: date.timezone=UTC
! 5: --FILE--
! 6: <?php
! 7: $start = new DateTime('2003-01-02 08:00:00');
! 8: $end = new DateTime('2003-01-02 12:00:00');
! 9: $diff = $start->diff($end);
! 10: $p = new DatePeriod($start, $diff, 2);
! 11: $diff_s = serialize($diff);
! 12: var_dump($diff, $diff_s);
! 13: var_export($diff);
! 14:
! 15: $diff_un = unserialize($diff_s);
! 16: $p = new DatePeriod($start, $diff_un, 2);
! 17: var_dump($diff_un, $p);
! 18:
! 19: $unser = DateInterval::__set_state(array(
! 20: 'y' => 7,
! 21: 'm' => 6,
! 22: 'd' => 5,
! 23: 'h' => 4,
! 24: 'i' => 3,
! 25: 's' => 2,
! 26: 'invert' => 1,
! 27: 'days' => 2400,
! 28: ));
! 29:
! 30: $p = new DatePeriod($start, $diff_un, 2);
! 31: var_dump($unser, $p);
! 32:
! 33: ?>
! 34: --EXPECT--
! 35: object(DateInterval)#3 (8) {
! 36: ["y"]=>
! 37: int(0)
! 38: ["m"]=>
! 39: int(0)
! 40: ["d"]=>
! 41: int(0)
! 42: ["h"]=>
! 43: int(4)
! 44: ["i"]=>
! 45: int(0)
! 46: ["s"]=>
! 47: int(0)
! 48: ["invert"]=>
! 49: int(0)
! 50: ["days"]=>
! 51: int(0)
! 52: }
! 53: string(128) "O:12:"DateInterval":8:{s:1:"y";i:0;s:1:"m";i:0;s:1:"d";i:0;s:1:"h";i:4;s:1:"i";i:0;s:1:"s";i:0;s:6:"invert";i:0;s:4:"days";i:0;}"
! 54: DateInterval::__set_state(array(
! 55: 'y' => 0,
! 56: 'm' => 0,
! 57: 'd' => 0,
! 58: 'h' => 4,
! 59: 'i' => 0,
! 60: 's' => 0,
! 61: 'invert' => 0,
! 62: 'days' => 0,
! 63: ))object(DateInterval)#5 (8) {
! 64: ["y"]=>
! 65: int(0)
! 66: ["m"]=>
! 67: int(0)
! 68: ["d"]=>
! 69: int(0)
! 70: ["h"]=>
! 71: int(4)
! 72: ["i"]=>
! 73: int(0)
! 74: ["s"]=>
! 75: int(0)
! 76: ["invert"]=>
! 77: int(0)
! 78: ["days"]=>
! 79: int(0)
! 80: }
! 81: object(DatePeriod)#6 (0) {
! 82: }
! 83: object(DateInterval)#4 (8) {
! 84: ["y"]=>
! 85: int(7)
! 86: ["m"]=>
! 87: int(6)
! 88: ["d"]=>
! 89: int(5)
! 90: ["h"]=>
! 91: int(4)
! 92: ["i"]=>
! 93: int(3)
! 94: ["s"]=>
! 95: int(2)
! 96: ["invert"]=>
! 97: int(1)
! 98: ["days"]=>
! 99: int(2400)
! 100: }
! 101: object(DatePeriod)#7 (0) {
! 102: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>