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>