Annotation of embedaddon/php/ext/standard/tests/general_functions/floatval.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Testing floatval() and its alias doubleval() Functions
! 3: --FILE--
! 4: <?php
! 5: /* Prototype: float floatval( mixed $var );
! 6: * Description: Returns the float value of var.
! 7: */
! 8:
! 9: echo "*** Testing floatval() with valid float values ***\n";
! 10: // different valid float values
! 11: $valid_floats = array(
! 12: 0.0,
! 13: 1.0,
! 14: -1.0,
! 15: 1.234,
! 16: -1.234,
! 17: 1.2e3,
! 18: -1.2e3,
! 19: 10.0000000000000000005,
! 20: 10.5e+5,
! 21: 1e5,
! 22: -1e5,
! 23: 1e-5,
! 24: -1e-1,
! 25: 1e+5,
! 26: -1e+5,
! 27: 1E5,
! 28: -1E5,
! 29: 1E+5,
! 30: -1E+5,
! 31: .5e+7,
! 32: -.5e+7
! 33: );
! 34:
! 35: /* loop to check that floatval() recognizes different
! 36: float values, expected output:float value for valid floating point number */
! 37:
! 38: foreach ($valid_floats as $value ) {
! 39: var_dump( floatval($value) );
! 40: }
! 41:
! 42:
! 43: echo "\n*** Testing doubleval() with valid float values ***\n";
! 44: /* loop to check that doubleval() also recognizes different
! 45: float values, expected output:float value for valid floating point number */
! 46:
! 47: foreach ($valid_floats as $value ) {
! 48: var_dump( doubleval($value) );
! 49: }
! 50:
! 51:
! 52: echo "\n*** Testing floatval() on non floating types ***\n";
! 53:
! 54: // get a resource type variable
! 55: $fp = fopen (__FILE__, "r");
! 56: fclose($fp);
! 57: $dfp = opendir ( dirname(__FILE__) );
! 58: closedir($dfp);
! 59:
! 60: // other types in an array
! 61: $not_float_types = array (
! 62: -2147483648, // max negative integer value
! 63: 2147483648, // max positive integer value
! 64: $fp, // resource
! 65: $dfp,
! 66: "0.0", // string
! 67: "1.0",
! 68: "-1.3e3",
! 69: "bob-1.3e3",
! 70: "10 Some dollars",
! 71: "10.2 Some Dollars",
! 72: "10.0 dollar" + 1,
! 73: "10.0 dollar" + 1.0,
! 74: "",
! 75: true,
! 76: NULL,
! 77: null,
! 78: );
! 79: /* loop through the $not_float_types to see working of
! 80: floatval() on non float types, expected output: float value valid floating point numbers */
! 81: foreach ($not_float_types as $type ) {
! 82: var_dump( floatval($type) );
! 83: }
! 84:
! 85:
! 86: echo "\n*** Testing doubleval() on non floating types ***\n";
! 87:
! 88: /* loop through the $not_float_types to see working of
! 89: doubleval() on non float types, expected output: float value valid floating point numbers */
! 90: foreach ($not_float_types as $type ) {
! 91: var_dump( doubleval($type) );
! 92: }
! 93:
! 94:
! 95:
! 96:
! 97: echo "\n*** Testing error conditions ***\n";
! 98: //Zero argument
! 99: var_dump( floatval() );
! 100: var_dump( doubleval() );
! 101:
! 102: //arguments more than expected
! 103: var_dump( floatval(TRUE, FALSE) );
! 104: var_dump( doubleval(TRUE, FALSE) );
! 105:
! 106: echo "\nDone\n";
! 107:
! 108:
! 109: ?>
! 110: --EXPECTF--
! 111: *** Testing floatval() with valid float values ***
! 112: float(0)
! 113: float(1)
! 114: float(-1)
! 115: float(1.234)
! 116: float(-1.234)
! 117: float(1200)
! 118: float(-1200)
! 119: float(10)
! 120: float(1050000)
! 121: float(100000)
! 122: float(-100000)
! 123: float(1.0E-5)
! 124: float(-0.1)
! 125: float(100000)
! 126: float(-100000)
! 127: float(100000)
! 128: float(-100000)
! 129: float(100000)
! 130: float(-100000)
! 131: float(5000000)
! 132: float(-5000000)
! 133:
! 134: *** Testing doubleval() with valid float values ***
! 135: float(0)
! 136: float(1)
! 137: float(-1)
! 138: float(1.234)
! 139: float(-1.234)
! 140: float(1200)
! 141: float(-1200)
! 142: float(10)
! 143: float(1050000)
! 144: float(100000)
! 145: float(-100000)
! 146: float(1.0E-5)
! 147: float(-0.1)
! 148: float(100000)
! 149: float(-100000)
! 150: float(100000)
! 151: float(-100000)
! 152: float(100000)
! 153: float(-100000)
! 154: float(5000000)
! 155: float(-5000000)
! 156:
! 157: *** Testing floatval() on non floating types ***
! 158: float(-2147483648)
! 159: float(2147483648)
! 160: float(5)
! 161: float(6)
! 162: float(0)
! 163: float(1)
! 164: float(-1300)
! 165: float(0)
! 166: float(10)
! 167: float(10.2)
! 168: float(11)
! 169: float(11)
! 170: float(0)
! 171: float(1)
! 172: float(0)
! 173: float(0)
! 174:
! 175: *** Testing doubleval() on non floating types ***
! 176: float(-2147483648)
! 177: float(2147483648)
! 178: float(5)
! 179: float(6)
! 180: float(0)
! 181: float(1)
! 182: float(-1300)
! 183: float(0)
! 184: float(10)
! 185: float(10.2)
! 186: float(11)
! 187: float(11)
! 188: float(0)
! 189: float(1)
! 190: float(0)
! 191: float(0)
! 192:
! 193: *** Testing error conditions ***
! 194:
! 195: Warning: floatval() expects exactly 1 parameter, 0 given in %s on line %d
! 196: NULL
! 197:
! 198: Warning: doubleval() expects exactly 1 parameter, 0 given in %s on line %d
! 199: NULL
! 200:
! 201: Warning: floatval() expects exactly 1 parameter, 2 given in %s on line %d
! 202: NULL
! 203:
! 204: Warning: doubleval() expects exactly 1 parameter, 2 given in %s on line %d
! 205: NULL
! 206:
! 207: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>