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