1--TEST-- 2Test is_bool() function 3--FILE-- 4<?php 5/* Prototype: bool is_bool ( mixed $var ); 6 * Description: Finds whether the given variable is a boolean 7 */ 8 9echo "*** Testing is_bool() with valid boolean values ***\n"; 10// different valid boolean vlaues 11$valid_bools = array( 12 TRUE, 13 FALSE, 14 true, 15 false, 16); 17/* loop to check that is_bool() recognizes different 18 bool values, expected output: bool(true) */ 19$loop_counter = 1; 20foreach ($valid_bools as $bool_val ) { 21 echo "-- Iteration $loop_counter --\n"; $loop_counter++; 22 var_dump( is_bool($bool_val) ); 23} 24 25echo "\n*** Testing is_bool() on non boolean values ***\n"; 26 27// get a resource type variable 28$fp = fopen (__FILE__, "r"); 29$dfp = opendir ( dirname(__FILE__) ); 30 31// unset variable 32$unset_bool1 = true; 33$unset_bool2 = false; 34$unset_var = 0; 35unset ($unset_bool1); 36unset ($unset_bool2); 37unset ($unset_var); 38 39// other types in a array 40$not_bool_types = array ( 41 /* integers */ 42 0, 43 1, 44 -1, 45 -0, 46 543915, 47 -5322, 48 0x0, 49 0x1, 50 0x55F, 51 -0xCCF, 52 0123, 53 -0654, 54 00, 55 01, 56 57 /* strings */ 58 "", 59 '', 60 "0", 61 '0', 62 "1", 63 '1', 64 'string', 65 "string", 66 "true", 67 "false", 68 "FALSE", 69 "TRUE", 70 'true', 71 'false', 72 'FALSE', 73 'TRUE', 74 "NULL", 75 "null", 76 77 /* floats */ 78 0.0, 79 1.0, 80 -1.0, 81 10.0000000000000000005, 82 .5e6, 83 -.5E7, 84 .5E+8, 85 -.5e+90, 86 1e5, 87 -1e5, 88 1E5, 89 -1E7, 90 91 /* objects */ 92 new stdclass, 93 94 /* resources */ 95 $fp, 96 $dfp, 97 98 /* nulls */ 99 null, 100 NULL, 101 102 /* arrays */ 103 array(), 104 array(0), 105 array(1), 106 array(NULL), 107 array(null), 108 array("string"), 109 array(true), 110 array(TRUE), 111 array(false), 112 array(FALSE), 113 array(1,2,3,4), 114 array(1 => "One", "two" => 2), 115 116 /* unset bool vars and undefined var */ 117 @$unset_bool1, 118 @$unset_bool2, 119 @$unset_var, 120 @$undefined_var 121); 122/* loop through the $not_bool_types to see working of 123 is_bool() on non bull types, expected output: bool(false) */ 124$loop_counter = 1; 125foreach ($not_bool_types as $type ) { 126 echo "-- Iteration $loop_counter --\n"; $loop_counter++; 127 var_dump( is_bool($type) ); 128} 129 130echo "\n*** Testing error conditions ***\n"; 131//Zero argument 132var_dump( is_bool() ); 133 134//arguments more than expected 135var_dump( is_bool(TRUE, FALSE) ); 136 137echo "Done\n"; 138 139// close resources 140fclose($fp); 141closedir($dfp); 142 143?> 144--EXPECTF-- 145*** Testing is_bool() with valid boolean values *** 146-- Iteration 1 -- 147bool(true) 148-- Iteration 2 -- 149bool(true) 150-- Iteration 3 -- 151bool(true) 152-- Iteration 4 -- 153bool(true) 154 155*** Testing is_bool() on non boolean values *** 156-- Iteration 1 -- 157bool(false) 158-- Iteration 2 -- 159bool(false) 160-- Iteration 3 -- 161bool(false) 162-- Iteration 4 -- 163bool(false) 164-- Iteration 5 -- 165bool(false) 166-- Iteration 6 -- 167bool(false) 168-- Iteration 7 -- 169bool(false) 170-- Iteration 8 -- 171bool(false) 172-- Iteration 9 -- 173bool(false) 174-- Iteration 10 -- 175bool(false) 176-- Iteration 11 -- 177bool(false) 178-- Iteration 12 -- 179bool(false) 180-- Iteration 13 -- 181bool(false) 182-- Iteration 14 -- 183bool(false) 184-- Iteration 15 -- 185bool(false) 186-- Iteration 16 -- 187bool(false) 188-- Iteration 17 -- 189bool(false) 190-- Iteration 18 -- 191bool(false) 192-- Iteration 19 -- 193bool(false) 194-- Iteration 20 -- 195bool(false) 196-- Iteration 21 -- 197bool(false) 198-- Iteration 22 -- 199bool(false) 200-- Iteration 23 -- 201bool(false) 202-- Iteration 24 -- 203bool(false) 204-- Iteration 25 -- 205bool(false) 206-- Iteration 26 -- 207bool(false) 208-- Iteration 27 -- 209bool(false) 210-- Iteration 28 -- 211bool(false) 212-- Iteration 29 -- 213bool(false) 214-- Iteration 30 -- 215bool(false) 216-- Iteration 31 -- 217bool(false) 218-- Iteration 32 -- 219bool(false) 220-- Iteration 33 -- 221bool(false) 222-- Iteration 34 -- 223bool(false) 224-- Iteration 35 -- 225bool(false) 226-- Iteration 36 -- 227bool(false) 228-- Iteration 37 -- 229bool(false) 230-- Iteration 38 -- 231bool(false) 232-- Iteration 39 -- 233bool(false) 234-- Iteration 40 -- 235bool(false) 236-- Iteration 41 -- 237bool(false) 238-- Iteration 42 -- 239bool(false) 240-- Iteration 43 -- 241bool(false) 242-- Iteration 44 -- 243bool(false) 244-- Iteration 45 -- 245bool(false) 246-- Iteration 46 -- 247bool(false) 248-- Iteration 47 -- 249bool(false) 250-- Iteration 48 -- 251bool(false) 252-- Iteration 49 -- 253bool(false) 254-- Iteration 50 -- 255bool(false) 256-- Iteration 51 -- 257bool(false) 258-- Iteration 52 -- 259bool(false) 260-- Iteration 53 -- 261bool(false) 262-- Iteration 54 -- 263bool(false) 264-- Iteration 55 -- 265bool(false) 266-- Iteration 56 -- 267bool(false) 268-- Iteration 57 -- 269bool(false) 270-- Iteration 58 -- 271bool(false) 272-- Iteration 59 -- 273bool(false) 274-- Iteration 60 -- 275bool(false) 276-- Iteration 61 -- 277bool(false) 278-- Iteration 62 -- 279bool(false) 280-- Iteration 63 -- 281bool(false) 282-- Iteration 64 -- 283bool(false) 284-- Iteration 65 -- 285bool(false) 286 287*** Testing error conditions *** 288 289Warning: is_bool() expects exactly 1 parameter, 0 given in %s on line %d 290bool(false) 291 292Warning: is_bool() expects exactly 1 parameter, 2 given in %s on line %d 293bool(false) 294Done 295