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>