Return to is_int_64bit.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / general_functions |
1.1 misho 1: --TEST-- 2: Test is_int() & it's FALIASes: is_long() & is_integer() functions 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); 6: ?> 7: --INI-- 8: precision=14 9: --FILE-- 10: <?php 11: /* Prototype: bool is_int ( mixed $var ); 12: * Description: Finds whether the given variable is an integer 13: */ 14: 15: echo "*** Testing is_int(), is_integer() & is_long() with valid integer values ***\n"; 16: // different valid integer vlaues 17: $valid_ints = array( 18: 0, 19: 1, 20: -1, 21: -2147483648, // max negative integer value 22: -2147483647, 23: 2147483647, // max positive integer value 24: 2147483640, 25: 0x123B, // integer as hexadecimal 26: 0x12ab, 27: 0Xfff, 28: 0XFA, 29: -0x80000000, // max negative integer as hexadecimal 30: 0x7fffffff, // max postive integer as hexadecimal 31: 0x7FFFFFFF, // max postive integer as hexadecimal 32: 0123, // integer as octal 33: 01912, // should be quivalent to octal 1 34: -020000000000, // max negative integer as octal 35: 017777777777, // max positive integer as octal 36: ); 37: /* loop to check that is_int() recognizes different 38: integer values, expected output: bool(true) */ 39: $loop_counter = 1; 40: foreach ($valid_ints as $int_val ) { 41: echo "--Iteration $loop_counter--\n"; $loop_counter++; 42: var_dump( is_int($int_val) ); 43: var_dump( is_integer($int_val) ); 44: var_dump( is_long($int_val) ); 45: } 46: 47: echo "\n*** Testing is_int(), is_integer() & is_long() with non integer values ***\n"; 48: 49: // resource type variable 50: $fp = fopen (__FILE__, "r"); 51: $dfp = opendir ( dirname(__FILE__) ); 52: // unset variable 53: 54: $unset_var = 10; 55: unset ($unset_var); 56: 57: // other types in a array 58: $not_int_types = array ( 59: /* float values */ 60: -2147483649, // float value 61: 2147483648, // float value 62: -0x80000001, // float value, beyond max negative int 63: 0x800000001, // float value, beyond max positive int 64: 020000000001, // float value, beyond max positive int 65: -020000000001, // float value, beyond max negative int 66: 0.0, 67: -0.1, 68: 1.0, 69: 1e5, 70: -1e6, 71: 1E8, 72: -1E9, 73: 10.0000000000000000005, 74: 10.5e+5, 75: 76: /* objects */ 77: new stdclass, 78: 79: /* resources */ 80: $fp, 81: $dfp, 82: 83: /* arrays */ 84: array(), 85: array(0), 86: array(1), 87: array(NULL), 88: array(null), 89: array("string"), 90: array(true), 91: array(TRUE), 92: array(false), 93: array(FALSE), 94: array(1,2,3,4), 95: array(1 => "One", "two" => 2), 96: 97: /* strings */ 98: "", 99: '', 100: "0", 101: '0', 102: "1", 103: '1', 104: "\x01", 105: '\x01', 106: "\01", 107: '\01', 108: 'string', 109: "string", 110: "true", 111: "FALSE", 112: 'false', 113: 'TRUE', 114: "NULL", 115: 'null', 116: 117: /* booleans */ 118: true, 119: false, 120: TRUE, 121: FALSE, 122: 123: /* undefined and unset vars */ 124: @$unset_var, 125: @$undefined_var 126: ); 127: /* loop through the $not_int_types to see working of 128: is_int() on non integer types, expected output: bool(false) */ 129: $loop_counter = 1; 130: foreach ($not_int_types as $type ) { 131: echo "--Iteration $loop_counter--\n"; $loop_counter++; 132: var_dump( is_int($type) ); 133: var_dump( is_integer($type) ); 134: var_dump( is_long($type) ); 135: } 136: 137: echo "\n*** Testing error conditions ***\n"; 138: //Zero argument 139: var_dump( is_int() ); 140: var_dump( is_integer() ); 141: var_dump( is_long() ); 142: 143: //arguments more than expected 144: var_dump( is_int(TRUE, FALSE) ); 145: var_dump( is_integer(TRUE, FALSE) ); 146: var_dump( is_long(TRUE, FALSE) ); 147: 148: echo "Done\n"; 149: ?> 150: --EXPECTF-- 151: *** Testing is_int(), is_integer() & is_long() with valid integer values *** 152: --Iteration 1-- 153: bool(true) 154: bool(true) 155: bool(true) 156: --Iteration 2-- 157: bool(true) 158: bool(true) 159: bool(true) 160: --Iteration 3-- 161: bool(true) 162: bool(true) 163: bool(true) 164: --Iteration 4-- 165: bool(true) 166: bool(true) 167: bool(true) 168: --Iteration 5-- 169: bool(true) 170: bool(true) 171: bool(true) 172: --Iteration 6-- 173: bool(true) 174: bool(true) 175: bool(true) 176: --Iteration 7-- 177: bool(true) 178: bool(true) 179: bool(true) 180: --Iteration 8-- 181: bool(true) 182: bool(true) 183: bool(true) 184: --Iteration 9-- 185: bool(true) 186: bool(true) 187: bool(true) 188: --Iteration 10-- 189: bool(true) 190: bool(true) 191: bool(true) 192: --Iteration 11-- 193: bool(true) 194: bool(true) 195: bool(true) 196: --Iteration 12-- 197: bool(true) 198: bool(true) 199: bool(true) 200: --Iteration 13-- 201: bool(true) 202: bool(true) 203: bool(true) 204: --Iteration 14-- 205: bool(true) 206: bool(true) 207: bool(true) 208: --Iteration 15-- 209: bool(true) 210: bool(true) 211: bool(true) 212: --Iteration 16-- 213: bool(true) 214: bool(true) 215: bool(true) 216: --Iteration 17-- 217: bool(true) 218: bool(true) 219: bool(true) 220: --Iteration 18-- 221: bool(true) 222: bool(true) 223: bool(true) 224: 225: *** Testing is_int(), is_integer() & is_long() with non integer values *** 226: --Iteration 1-- 227: bool(true) 228: bool(true) 229: bool(true) 230: --Iteration 2-- 231: bool(true) 232: bool(true) 233: bool(true) 234: --Iteration 3-- 235: bool(true) 236: bool(true) 237: bool(true) 238: --Iteration 4-- 239: bool(true) 240: bool(true) 241: bool(true) 242: --Iteration 5-- 243: bool(true) 244: bool(true) 245: bool(true) 246: --Iteration 6-- 247: bool(true) 248: bool(true) 249: bool(true) 250: --Iteration 7-- 251: bool(false) 252: bool(false) 253: bool(false) 254: --Iteration 8-- 255: bool(false) 256: bool(false) 257: bool(false) 258: --Iteration 9-- 259: bool(false) 260: bool(false) 261: bool(false) 262: --Iteration 10-- 263: bool(false) 264: bool(false) 265: bool(false) 266: --Iteration 11-- 267: bool(false) 268: bool(false) 269: bool(false) 270: --Iteration 12-- 271: bool(false) 272: bool(false) 273: bool(false) 274: --Iteration 13-- 275: bool(false) 276: bool(false) 277: bool(false) 278: --Iteration 14-- 279: bool(false) 280: bool(false) 281: bool(false) 282: --Iteration 15-- 283: bool(false) 284: bool(false) 285: bool(false) 286: --Iteration 16-- 287: bool(false) 288: bool(false) 289: bool(false) 290: --Iteration 17-- 291: bool(false) 292: bool(false) 293: bool(false) 294: --Iteration 18-- 295: bool(false) 296: bool(false) 297: bool(false) 298: --Iteration 19-- 299: bool(false) 300: bool(false) 301: bool(false) 302: --Iteration 20-- 303: bool(false) 304: bool(false) 305: bool(false) 306: --Iteration 21-- 307: bool(false) 308: bool(false) 309: bool(false) 310: --Iteration 22-- 311: bool(false) 312: bool(false) 313: bool(false) 314: --Iteration 23-- 315: bool(false) 316: bool(false) 317: bool(false) 318: --Iteration 24-- 319: bool(false) 320: bool(false) 321: bool(false) 322: --Iteration 25-- 323: bool(false) 324: bool(false) 325: bool(false) 326: --Iteration 26-- 327: bool(false) 328: bool(false) 329: bool(false) 330: --Iteration 27-- 331: bool(false) 332: bool(false) 333: bool(false) 334: --Iteration 28-- 335: bool(false) 336: bool(false) 337: bool(false) 338: --Iteration 29-- 339: bool(false) 340: bool(false) 341: bool(false) 342: --Iteration 30-- 343: bool(false) 344: bool(false) 345: bool(false) 346: --Iteration 31-- 347: bool(false) 348: bool(false) 349: bool(false) 350: --Iteration 32-- 351: bool(false) 352: bool(false) 353: bool(false) 354: --Iteration 33-- 355: bool(false) 356: bool(false) 357: bool(false) 358: --Iteration 34-- 359: bool(false) 360: bool(false) 361: bool(false) 362: --Iteration 35-- 363: bool(false) 364: bool(false) 365: bool(false) 366: --Iteration 36-- 367: bool(false) 368: bool(false) 369: bool(false) 370: --Iteration 37-- 371: bool(false) 372: bool(false) 373: bool(false) 374: --Iteration 38-- 375: bool(false) 376: bool(false) 377: bool(false) 378: --Iteration 39-- 379: bool(false) 380: bool(false) 381: bool(false) 382: --Iteration 40-- 383: bool(false) 384: bool(false) 385: bool(false) 386: --Iteration 41-- 387: bool(false) 388: bool(false) 389: bool(false) 390: --Iteration 42-- 391: bool(false) 392: bool(false) 393: bool(false) 394: --Iteration 43-- 395: bool(false) 396: bool(false) 397: bool(false) 398: --Iteration 44-- 399: bool(false) 400: bool(false) 401: bool(false) 402: --Iteration 45-- 403: bool(false) 404: bool(false) 405: bool(false) 406: --Iteration 46-- 407: bool(false) 408: bool(false) 409: bool(false) 410: --Iteration 47-- 411: bool(false) 412: bool(false) 413: bool(false) 414: --Iteration 48-- 415: bool(false) 416: bool(false) 417: bool(false) 418: --Iteration 49-- 419: bool(false) 420: bool(false) 421: bool(false) 422: --Iteration 50-- 423: bool(false) 424: bool(false) 425: bool(false) 426: --Iteration 51-- 427: bool(false) 428: bool(false) 429: bool(false) 430: --Iteration 52-- 431: bool(false) 432: bool(false) 433: bool(false) 434: --Iteration 53-- 435: bool(false) 436: bool(false) 437: bool(false) 438: --Iteration 54-- 439: bool(false) 440: bool(false) 441: bool(false) 442: 443: *** Testing error conditions *** 444: 445: Warning: is_int() expects exactly 1 parameter, 0 given in %s on line %d 446: bool(false) 447: 448: Warning: is_integer() expects exactly 1 parameter, 0 given in %s on line %d 449: bool(false) 450: 451: Warning: is_long() expects exactly 1 parameter, 0 given in %s on line %d 452: bool(false) 453: 454: Warning: is_int() expects exactly 1 parameter, 2 given in %s on line %d 455: bool(false) 456: 457: Warning: is_integer() expects exactly 1 parameter, 2 given in %s on line %d 458: bool(false) 459: 460: Warning: is_long() expects exactly 1 parameter, 2 given in %s on line %d 461: bool(false) 462: Done