Annotation of embedaddon/php/ext/standard/tests/array/bug41121.phpt, revision 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>