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