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>