Annotation of embedaddon/php/ext/standard/tests/general_functions/is_int_64bit.phpt, revision 1.1.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 != 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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>