Return to ftruncate_variation4.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
1.1 misho 1: --TEST-- 2: Test ftruncate() function : usage variations - truncate file to negative size 3: --SKIPIF-- 4: <?php 5: if (substr(PHP_OS, 0, 3) == 'WIN') { 6: die('skip.. Not valid for Windows'); 7: } 8: ?> 9: --FILE-- 10: <?php 11: /* 12: Prototype: bool ftruncate ( resource $handle, int $size ); 13: Description: Truncates a file to a given length 14: */ 15: 16: // include common file related test functions 17: include ("file.inc"); 18: 19: echo "*** Testing ftruncate() : usage variations ***\n"; 20: 21: /* test ftruncate with file opened in different modes */ 22: $file_modes = array("r", "rb", "rt", "r+", "r+b", "r+t", 23: "w", "wb", "wt", "w+", "w+b", "w+t", 24: "x", "xb", "xt", "x+", "x+b", "x+t", 25: "a", "ab", "at", "a+", "a+b", "a+t"); 26: 27: $file_content_types = array("numeric","text_with_new_line"); 28: 29: foreach($file_content_types as $file_content_type) { 30: echo "\n-- Testing ftruncate() with file having data of type ". $file_content_type ." --\n"; 31: 32: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { 33: echo "-- Testing ftruncate() with file opening using $file_modes[$mode_counter] mode --\n"; 34: 35: // create 1 file with some contents 36: $filename = dirname(__FILE__)."/ftruncate_variation4.tmp"; 37: if( strstr($file_modes[$mode_counter], "x") || strstr($file_modes[$mode_counter], "w") ) { 38: // fopen the file using the $file_modes 39: $file_handle = fopen($filename, $file_modes[$mode_counter]); 40: fill_file($file_handle, $file_content_type, 1024); 41: } else { 42: create_files ( dirname(__FILE__), 1, $file_content_type, 0755, 1, "w", "ftruncate_variation", 4); 43: // fopen the file using the $file_modes 44: $file_handle = fopen($filename, $file_modes[$mode_counter]); 45: } 46: if (!$file_handle) { 47: echo "Error: failed to open file $filename!\n"; 48: exit(); 49: } 50: 51: rewind($file_handle); // file pointer to 0 52: 53: echo "-- Testing ftruncate(): try truncating file to a negative size --\n"; 54: /* try to truncate it to a negative size, size should not change*/ 55: 56: $new_size = -1000; 57: var_dump( filesize($filename) ); // current filesize 58: var_dump( ftell($file_handle) ); 59: var_dump( ftruncate($file_handle, $new_size) ); // truncate it 60: var_dump( ftell($file_handle) ); 61: var_dump( feof($file_handle) ); 62: fclose($file_handle); 63: clearstatcache(); // clear previous size value in cache 64: var_dump( filesize($filename) ); // new file size = actual size, no change 65: 66: //delete all files created 67: delete_file( $filename ); 68: }//end of inner for loop 69: }//end of outer foreach loop 70: echo "Done\n"; 71: ?> 72: --EXPECTF-- 73: *** Testing ftruncate() : usage variations *** 74: 75: -- Testing ftruncate() with file having data of type numeric -- 76: -- Testing ftruncate() with file opening using r mode -- 77: -- Testing ftruncate(): try truncating file to a negative size -- 78: int(1024) 79: int(0) 80: bool(false) 81: int(0) 82: bool(false) 83: int(1024) 84: -- Testing ftruncate() with file opening using rb mode -- 85: -- Testing ftruncate(): try truncating file to a negative size -- 86: int(1024) 87: int(0) 88: bool(false) 89: int(0) 90: bool(false) 91: int(1024) 92: -- Testing ftruncate() with file opening using rt mode -- 93: -- Testing ftruncate(): try truncating file to a negative size -- 94: int(1024) 95: int(0) 96: bool(false) 97: int(0) 98: bool(false) 99: int(1024) 100: -- Testing ftruncate() with file opening using r+ mode -- 101: -- Testing ftruncate(): try truncating file to a negative size -- 102: int(1024) 103: int(0) 104: bool(false) 105: int(0) 106: bool(false) 107: int(1024) 108: -- Testing ftruncate() with file opening using r+b mode -- 109: -- Testing ftruncate(): try truncating file to a negative size -- 110: int(1024) 111: int(0) 112: bool(false) 113: int(0) 114: bool(false) 115: int(1024) 116: -- Testing ftruncate() with file opening using r+t mode -- 117: -- Testing ftruncate(): try truncating file to a negative size -- 118: int(1024) 119: int(0) 120: bool(false) 121: int(0) 122: bool(false) 123: int(1024) 124: -- Testing ftruncate() with file opening using w mode -- 125: -- Testing ftruncate(): try truncating file to a negative size -- 126: int(1024) 127: int(0) 128: bool(false) 129: int(0) 130: bool(false) 131: int(1024) 132: -- Testing ftruncate() with file opening using wb mode -- 133: -- Testing ftruncate(): try truncating file to a negative size -- 134: int(1024) 135: int(0) 136: bool(false) 137: int(0) 138: bool(false) 139: int(1024) 140: -- Testing ftruncate() with file opening using wt mode -- 141: -- Testing ftruncate(): try truncating file to a negative size -- 142: int(1024) 143: int(0) 144: bool(false) 145: int(0) 146: bool(false) 147: int(1024) 148: -- Testing ftruncate() with file opening using w+ mode -- 149: -- Testing ftruncate(): try truncating file to a negative size -- 150: int(1024) 151: int(0) 152: bool(false) 153: int(0) 154: bool(false) 155: int(1024) 156: -- Testing ftruncate() with file opening using w+b mode -- 157: -- Testing ftruncate(): try truncating file to a negative size -- 158: int(1024) 159: int(0) 160: bool(false) 161: int(0) 162: bool(false) 163: int(1024) 164: -- Testing ftruncate() with file opening using w+t mode -- 165: -- Testing ftruncate(): try truncating file to a negative size -- 166: int(1024) 167: int(0) 168: bool(false) 169: int(0) 170: bool(false) 171: int(1024) 172: -- Testing ftruncate() with file opening using x mode -- 173: -- Testing ftruncate(): try truncating file to a negative size -- 174: int(1024) 175: int(0) 176: bool(false) 177: int(0) 178: bool(false) 179: int(1024) 180: -- Testing ftruncate() with file opening using xb mode -- 181: -- Testing ftruncate(): try truncating file to a negative size -- 182: int(1024) 183: int(0) 184: bool(false) 185: int(0) 186: bool(false) 187: int(1024) 188: -- Testing ftruncate() with file opening using xt mode -- 189: -- Testing ftruncate(): try truncating file to a negative size -- 190: int(1024) 191: int(0) 192: bool(false) 193: int(0) 194: bool(false) 195: int(1024) 196: -- Testing ftruncate() with file opening using x+ mode -- 197: -- Testing ftruncate(): try truncating file to a negative size -- 198: int(1024) 199: int(0) 200: bool(false) 201: int(0) 202: bool(false) 203: int(1024) 204: -- Testing ftruncate() with file opening using x+b mode -- 205: -- Testing ftruncate(): try truncating file to a negative size -- 206: int(1024) 207: int(0) 208: bool(false) 209: int(0) 210: bool(false) 211: int(1024) 212: -- Testing ftruncate() with file opening using x+t mode -- 213: -- Testing ftruncate(): try truncating file to a negative size -- 214: int(1024) 215: int(0) 216: bool(false) 217: int(0) 218: bool(false) 219: int(1024) 220: -- Testing ftruncate() with file opening using a mode -- 221: -- Testing ftruncate(): try truncating file to a negative size -- 222: int(1024) 223: int(0) 224: bool(false) 225: int(0) 226: bool(false) 227: int(1024) 228: -- Testing ftruncate() with file opening using ab mode -- 229: -- Testing ftruncate(): try truncating file to a negative size -- 230: int(1024) 231: int(0) 232: bool(false) 233: int(0) 234: bool(false) 235: int(1024) 236: -- Testing ftruncate() with file opening using at mode -- 237: -- Testing ftruncate(): try truncating file to a negative size -- 238: int(1024) 239: int(0) 240: bool(false) 241: int(0) 242: bool(false) 243: int(1024) 244: -- Testing ftruncate() with file opening using a+ mode -- 245: -- Testing ftruncate(): try truncating file to a negative size -- 246: int(1024) 247: int(0) 248: bool(false) 249: int(0) 250: bool(false) 251: int(1024) 252: -- Testing ftruncate() with file opening using a+b mode -- 253: -- Testing ftruncate(): try truncating file to a negative size -- 254: int(1024) 255: int(0) 256: bool(false) 257: int(0) 258: bool(false) 259: int(1024) 260: -- Testing ftruncate() with file opening using a+t mode -- 261: -- Testing ftruncate(): try truncating file to a negative size -- 262: int(1024) 263: int(0) 264: bool(false) 265: int(0) 266: bool(false) 267: int(1024) 268: 269: -- Testing ftruncate() with file having data of type text_with_new_line -- 270: -- Testing ftruncate() with file opening using r mode -- 271: -- Testing ftruncate(): try truncating file to a negative size -- 272: int(1024) 273: int(0) 274: bool(false) 275: int(0) 276: bool(false) 277: int(1024) 278: -- Testing ftruncate() with file opening using rb mode -- 279: -- Testing ftruncate(): try truncating file to a negative size -- 280: int(1024) 281: int(0) 282: bool(false) 283: int(0) 284: bool(false) 285: int(1024) 286: -- Testing ftruncate() with file opening using rt mode -- 287: -- Testing ftruncate(): try truncating file to a negative size -- 288: int(1024) 289: int(0) 290: bool(false) 291: int(0) 292: bool(false) 293: int(1024) 294: -- Testing ftruncate() with file opening using r+ mode -- 295: -- Testing ftruncate(): try truncating file to a negative size -- 296: int(1024) 297: int(0) 298: bool(false) 299: int(0) 300: bool(false) 301: int(1024) 302: -- Testing ftruncate() with file opening using r+b mode -- 303: -- Testing ftruncate(): try truncating file to a negative size -- 304: int(1024) 305: int(0) 306: bool(false) 307: int(0) 308: bool(false) 309: int(1024) 310: -- Testing ftruncate() with file opening using r+t mode -- 311: -- Testing ftruncate(): try truncating file to a negative size -- 312: int(1024) 313: int(0) 314: bool(false) 315: int(0) 316: bool(false) 317: int(1024) 318: -- Testing ftruncate() with file opening using w mode -- 319: -- Testing ftruncate(): try truncating file to a negative size -- 320: int(1024) 321: int(0) 322: bool(false) 323: int(0) 324: bool(false) 325: int(1024) 326: -- Testing ftruncate() with file opening using wb mode -- 327: -- Testing ftruncate(): try truncating file to a negative size -- 328: int(1024) 329: int(0) 330: bool(false) 331: int(0) 332: bool(false) 333: int(1024) 334: -- Testing ftruncate() with file opening using wt mode -- 335: -- Testing ftruncate(): try truncating file to a negative size -- 336: int(1024) 337: int(0) 338: bool(false) 339: int(0) 340: bool(false) 341: int(1024) 342: -- Testing ftruncate() with file opening using w+ mode -- 343: -- Testing ftruncate(): try truncating file to a negative size -- 344: int(1024) 345: int(0) 346: bool(false) 347: int(0) 348: bool(false) 349: int(1024) 350: -- Testing ftruncate() with file opening using w+b mode -- 351: -- Testing ftruncate(): try truncating file to a negative size -- 352: int(1024) 353: int(0) 354: bool(false) 355: int(0) 356: bool(false) 357: int(1024) 358: -- Testing ftruncate() with file opening using w+t mode -- 359: -- Testing ftruncate(): try truncating file to a negative size -- 360: int(1024) 361: int(0) 362: bool(false) 363: int(0) 364: bool(false) 365: int(1024) 366: -- Testing ftruncate() with file opening using x mode -- 367: -- Testing ftruncate(): try truncating file to a negative size -- 368: int(1024) 369: int(0) 370: bool(false) 371: int(0) 372: bool(false) 373: int(1024) 374: -- Testing ftruncate() with file opening using xb mode -- 375: -- Testing ftruncate(): try truncating file to a negative size -- 376: int(1024) 377: int(0) 378: bool(false) 379: int(0) 380: bool(false) 381: int(1024) 382: -- Testing ftruncate() with file opening using xt mode -- 383: -- Testing ftruncate(): try truncating file to a negative size -- 384: int(1024) 385: int(0) 386: bool(false) 387: int(0) 388: bool(false) 389: int(1024) 390: -- Testing ftruncate() with file opening using x+ mode -- 391: -- Testing ftruncate(): try truncating file to a negative size -- 392: int(1024) 393: int(0) 394: bool(false) 395: int(0) 396: bool(false) 397: int(1024) 398: -- Testing ftruncate() with file opening using x+b mode -- 399: -- Testing ftruncate(): try truncating file to a negative size -- 400: int(1024) 401: int(0) 402: bool(false) 403: int(0) 404: bool(false) 405: int(1024) 406: -- Testing ftruncate() with file opening using x+t mode -- 407: -- Testing ftruncate(): try truncating file to a negative size -- 408: int(1024) 409: int(0) 410: bool(false) 411: int(0) 412: bool(false) 413: int(1024) 414: -- Testing ftruncate() with file opening using a mode -- 415: -- Testing ftruncate(): try truncating file to a negative size -- 416: int(1024) 417: int(0) 418: bool(false) 419: int(0) 420: bool(false) 421: int(1024) 422: -- Testing ftruncate() with file opening using ab mode -- 423: -- Testing ftruncate(): try truncating file to a negative size -- 424: int(1024) 425: int(0) 426: bool(false) 427: int(0) 428: bool(false) 429: int(1024) 430: -- Testing ftruncate() with file opening using at mode -- 431: -- Testing ftruncate(): try truncating file to a negative size -- 432: int(1024) 433: int(0) 434: bool(false) 435: int(0) 436: bool(false) 437: int(1024) 438: -- Testing ftruncate() with file opening using a+ mode -- 439: -- Testing ftruncate(): try truncating file to a negative size -- 440: int(1024) 441: int(0) 442: bool(false) 443: int(0) 444: bool(false) 445: int(1024) 446: -- Testing ftruncate() with file opening using a+b mode -- 447: -- Testing ftruncate(): try truncating file to a negative size -- 448: int(1024) 449: int(0) 450: bool(false) 451: int(0) 452: bool(false) 453: int(1024) 454: -- Testing ftruncate() with file opening using a+t mode -- 455: -- Testing ftruncate(): try truncating file to a negative size -- 456: int(1024) 457: int(0) 458: bool(false) 459: int(0) 460: bool(false) 461: int(1024) 462: Done