1--TEST-- 2Test posix_getpwuid() function : usage variations - parameter types 3--SKIPIF-- 4<?php 5 if(!extension_loaded("posix")) print "skip - POSIX extension not loaded"; 6?> 7--FILE-- 8<?php 9/* Prototype : proto array posix_getpwuid(long uid) 10 * Description: User database access (POSIX.1, 9.2.2) 11 * Source code: ext/posix/posix.c 12 * Alias to functions: 13 */ 14 15echo "*** Testing posix_getpwuid() : usage variations ***\n"; 16 17// Initialise function arguments not being substituted (if any) 18 19//get an unset variable 20$unset_var = 10; 21unset ($unset_var); 22 23//array of values to iterate over 24$values = array( 25 26 // float data 27 10.5, 28 -10.5, 29 10.1234567e10, 30 10.7654321E-10, 31 .5, 32 33 // array data 34 array(), 35 array(0), 36 array(1), 37 array(1, 2), 38 array('color' => 'red', 'item' => 'pen'), 39 40 // null data 41 NULL, 42 null, 43 44 // boolean data 45 true, 46 false, 47 TRUE, 48 FALSE, 49 50 // empty data 51 "", 52 '', 53 54 // string data 55 "string", 56 'string', 57 58 // undefined data 59 $undefined_var, 60 61 // unset data 62 $unset_var, 63 64 // object data 65 new stdclass(), 66); 67 68// loop through each element of the array for uid 69 70foreach($values as $value) { 71 echo "\nArg value $value \n"; 72 $result = posix_getpwuid($value); 73 if ((is_array($result) && (count($result) == 7)) 74 || 75 ($result === false)) { 76 echo "valid output\n"; 77 } else { 78 var_dump($result); 79 } 80}; 81 82echo "Done"; 83?> 84--EXPECTF-- 85*** Testing posix_getpwuid() : usage variations *** 86 87Notice: Undefined variable: undefined_var in %s on line %d 88 89Notice: Undefined variable: unset_var in %s on line %d 90 91Arg value 10.5 92valid output 93 94Arg value -10.5 95valid output 96 97Arg value 101234567000 98valid output 99 100Arg value 1.07654321E-9 101valid output 102 103Arg value 0.5 104valid output 105 106Arg value Array 107 108Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d 109valid output 110 111Arg value Array 112 113Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d 114valid output 115 116Arg value Array 117 118Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d 119valid output 120 121Arg value Array 122 123Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d 124valid output 125 126Arg value Array 127 128Warning: posix_getpwuid() expects parameter 1 to be long, array given in %s on line %d 129valid output 130 131Arg value 132valid output 133 134Arg value 135valid output 136 137Arg value 1 138valid output 139 140Arg value 141valid output 142 143Arg value 1 144valid output 145 146Arg value 147valid output 148 149Arg value 150 151Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d 152valid output 153 154Arg value 155 156Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d 157valid output 158 159Arg value string 160 161Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d 162valid output 163 164Arg value string 165 166Warning: posix_getpwuid() expects parameter 1 to be long, string given in %s on line %d 167valid output 168 169Arg value 170valid output 171 172Arg value 173valid output 174 175Catchable fatal error: Object of class stdClass could not be converted to string in %s on line %d 176