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