Return to umask_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test umask() function : usage variation 3: --CREDITS-- 4: Dave Kelsey <d_kelsey@uk.ibm.com> 5: --SKIPIF-- 6: <?php 7: if (substr(PHP_OS, 0, 3) == 'WIN') { 8: die('skip.. only for Non Windows'); 9: } 10: ?> 11: --FILE-- 12: <?php 13: /* Prototype : int umask([int mask]) 1.1.1.2 ! misho 14: * Description: Return or change the umask 1.1 misho 15: * Source code: ext/standard/file.c 1.1.1.2 ! misho 16: * Alias to functions: 1.1 misho 17: */ 18: 19: echo "*** Testing umask() : usage variation ***\n"; 20: 21: // Define error handler 22: function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 23: if (error_reporting() != 0) { 24: // report non-silenced errors 25: echo "Error: $err_no - $err_msg, $filename($linenum)\n"; 26: } 27: } 28: set_error_handler('test_error_handler'); 29: 30: // Initialise function arguments not being substituted (if any) 31: 32: //get an unset variable 33: $unset_var = 10; 34: unset ($unset_var); 35: 36: // define some classes 37: class classWithToString 38: { 39: public function __toString() { 40: return "Class A object"; 41: } 42: } 43: 44: class classWithoutToString 45: { 46: } 47: 48: // heredoc string 49: $heredoc = <<<EOT 50: hello world 51: EOT; 52: 53: // add arrays 54: $index_array = array (1, 2, 3); 55: $assoc_array = array ('one' => 1, 'two' => 2); 56: 57: //array of values to iterate over 58: $inputs = array( 59: //out of boundary integers 60: 'int -100' => -100, 61: 'int 99999' => 99999, 62: 63: // float data 64: 'float 10.5' => 10.5, 65: 'float -10.5' => -10.5, 66: 'float 12.3456789000e10' => 12.3456789000e10, 67: //'float -12.3456789000e10' => -12.3456789000e10, different in p8 68: 'float .5' => .5, 69: 70: // array data 71: 'empty array' => array(), 72: 'int indexed array' => $index_array, 73: 'associative array' => $assoc_array, 74: 'nested arrays' => array('foo', $index_array, $assoc_array), 75: 76: // null data 77: 'uppercase NULL' => NULL, 78: 'lowercase null' => null, 79: 80: // boolean data 81: 'lowercase true' => true, 82: 'lowercase false' =>false, 83: 'uppercase TRUE' =>TRUE, 84: 'uppercase FALSE' =>FALSE, 85: 86: // empty data 87: 'empty string DQ' => "", 88: 'empty string SQ' => '', 89: 90: // string data 91: 'string DQ' => "string", 92: 'string SQ' => 'string', 93: 'mixed case string' => "sTrInG", 94: 'heredoc' => $heredoc, 95: 96: // object data 97: 'instance of classWithToString' => new classWithToString(), 98: 'instance of classWithoutToString' => new classWithoutToString(), 99: 100: // undefined data 101: 'undefined var' => @$undefined_var, 102: 103: // unset data 104: 'unset var' => @$unset_var, 105: ); 106: 107: // loop through each element of the array for mask 108: 109: foreach($inputs as $key =>$value) { 110: echo "\n--$key--\n"; 111: umask(0); 112: var_dump(umask($value)); 1.1.1.2 ! misho 113: var_dump( umask() & 0777); 1.1 misho 114: }; 115: 116: ?> 117: ===DONE=== 118: --EXPECTF-- 119: *** Testing umask() : usage variation *** 120: 121: --int -100-- 122: int(0) 123: int(412) 124: 125: --int 99999-- 126: int(0) 127: int(159) 128: 129: --float 10.5-- 130: int(0) 131: int(10) 132: 133: --float -10.5-- 134: int(0) 135: int(502) 136: 137: --float 12.3456789000e10-- 138: int(0) 139: int(%d) 140: 141: --float .5-- 142: int(0) 143: int(0) 144: 145: --empty array-- 146: Error: 2 - umask() expects parameter 1 to be long, array given, %s(%d) 147: bool(false) 148: int(63) 149: 150: --int indexed array-- 151: Error: 2 - umask() expects parameter 1 to be long, array given, %s(%d) 152: bool(false) 153: int(63) 154: 155: --associative array-- 156: Error: 2 - umask() expects parameter 1 to be long, array given, %s(%d) 157: bool(false) 158: int(63) 159: 160: --nested arrays-- 161: Error: 2 - umask() expects parameter 1 to be long, array given, %s(%d) 162: bool(false) 163: int(63) 164: 165: --uppercase NULL-- 166: int(0) 167: int(0) 168: 169: --lowercase null-- 170: int(0) 171: int(0) 172: 173: --lowercase true-- 174: int(0) 175: int(1) 176: 177: --lowercase false-- 178: int(0) 179: int(0) 180: 181: --uppercase TRUE-- 182: int(0) 183: int(1) 184: 185: --uppercase FALSE-- 186: int(0) 187: int(0) 188: 189: --empty string DQ-- 190: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 191: bool(false) 192: int(63) 193: 194: --empty string SQ-- 195: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 196: bool(false) 197: int(63) 198: 199: --string DQ-- 200: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 201: bool(false) 202: int(63) 203: 204: --string SQ-- 205: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 206: bool(false) 207: int(63) 208: 209: --mixed case string-- 210: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 211: bool(false) 212: int(63) 213: 214: --heredoc-- 215: Error: 2 - umask() expects parameter 1 to be long, string given, %s(%d) 216: bool(false) 217: int(63) 218: 219: --instance of classWithToString-- 220: Error: 2 - umask() expects parameter 1 to be long, object given, %s(%d) 221: bool(false) 222: int(63) 223: 224: --instance of classWithoutToString-- 225: Error: 2 - umask() expects parameter 1 to be long, object given, %s(%d) 226: bool(false) 227: int(63) 228: 229: --undefined var-- 230: int(0) 231: int(0) 232: 233: --unset var-- 234: int(0) 235: int(0) 236: ===DONE=== 237: