Annotation of embedaddon/php/ext/date/tests/bug52113.phpt, revision 1.1.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>