Annotation of embedaddon/php/ext/standard/tests/array/bug41121.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #41121 (range() overflow handling for large numbers on 32bit machines)
3: --INI--
4: precision=14
5: --SKIPIF--
6: <?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
7: --FILE--
8: <?php
9:
10: // posotive steps
11: var_dump(range(2147483400, 2147483600, 100));
12: var_dump( range(2147483646, 2147483648, 1 ) );
13: var_dump( range(2147483646, 2147483657, 1 ) );
14: var_dump( range(2147483630, 2147483646, 5 ) );
15:
16: // negative steps
17: var_dump( range(-2147483645, -2147483648, 1 ) );
18: var_dump( range(-2147483645, -2147483649, 1 ) );
19: var_dump( range(-2147483630, -2147483646, 5 ) );
20:
21: // low > high
22: var_dump(range(2147483647, 2147483645, 1 ));
23: var_dump(range(2147483648, 2147483645, 1 ));
24:
25: ?>
26: --EXPECT--
27: array(3) {
28: [0]=>
29: int(2147483400)
30: [1]=>
31: int(2147483500)
32: [2]=>
33: int(2147483600)
34: }
35: array(3) {
36: [0]=>
37: float(2147483646)
38: [1]=>
39: float(2147483647)
40: [2]=>
41: float(2147483648)
42: }
43: array(12) {
44: [0]=>
45: float(2147483646)
46: [1]=>
47: float(2147483647)
48: [2]=>
49: float(2147483648)
50: [3]=>
51: float(2147483649)
52: [4]=>
53: float(2147483650)
54: [5]=>
55: float(2147483651)
56: [6]=>
57: float(2147483652)
58: [7]=>
59: float(2147483653)
60: [8]=>
61: float(2147483654)
62: [9]=>
63: float(2147483655)
64: [10]=>
65: float(2147483656)
66: [11]=>
67: float(2147483657)
68: }
69: array(4) {
70: [0]=>
71: int(2147483630)
72: [1]=>
73: int(2147483635)
74: [2]=>
75: int(2147483640)
76: [3]=>
77: int(2147483645)
78: }
79: array(4) {
80: [0]=>
81: float(-2147483645)
82: [1]=>
83: float(-2147483646)
84: [2]=>
85: float(-2147483647)
86: [3]=>
87: float(-2147483648)
88: }
89: array(5) {
90: [0]=>
91: float(-2147483645)
92: [1]=>
93: float(-2147483646)
94: [2]=>
95: float(-2147483647)
96: [3]=>
97: float(-2147483648)
98: [4]=>
99: float(-2147483649)
100: }
101: array(4) {
102: [0]=>
103: int(-2147483630)
104: [1]=>
105: int(-2147483635)
106: [2]=>
107: int(-2147483640)
108: [3]=>
109: int(-2147483645)
110: }
111: array(3) {
112: [0]=>
113: int(2147483647)
114: [1]=>
115: int(2147483646)
116: [2]=>
117: int(2147483645)
118: }
119: array(4) {
120: [0]=>
121: float(2147483648)
122: [1]=>
123: float(2147483647)
124: [2]=>
125: float(2147483646)
126: [3]=>
127: float(2147483645)
128: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>