Annotation of embedaddon/php/ext/standard/tests/file/ftruncate_variation1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test ftruncate() function : usage variations - truncate filesize to zero
! 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_variation1.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");
! 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: /* truncate it to size 0 */
! 54: echo "-- Testing ftruncate(): truncate file to size = 0 --\n";
! 55: $new_size = 0;
! 56: var_dump( filesize($filename) ); // check the current file size
! 57: var_dump( ftell($file_handle) );
! 58: var_dump( ftruncate($file_handle, $new_size) ); // truncate it
! 59: var_dump( ftell($file_handle) );
! 60: var_dump( feof($file_handle) );
! 61: fclose($file_handle);
! 62: clearstatcache(); // clear previous size value in cache
! 63: var_dump( filesize($filename) ); // check the file size, should be 0
! 64:
! 65: //delete all files created
! 66: delete_file($filename);
! 67: } //end of inner for loop
! 68: }//end of outer foreach loop
! 69: echo "Done\n";
! 70: ?>
! 71: --EXPECTF--
! 72: *** Testing ftruncate() : usage variations ***
! 73:
! 74: -- Testing ftruncate() with file having data of type numeric --
! 75: -- Testing ftruncate() with file opening using r mode --
! 76: -- Testing ftruncate(): truncate file to size = 0 --
! 77: int(1024)
! 78: int(0)
! 79: bool(false)
! 80: int(0)
! 81: bool(false)
! 82: int(1024)
! 83: -- Testing ftruncate() with file opening using rb mode --
! 84: -- Testing ftruncate(): truncate file to size = 0 --
! 85: int(1024)
! 86: int(0)
! 87: bool(false)
! 88: int(0)
! 89: bool(false)
! 90: int(1024)
! 91: -- Testing ftruncate() with file opening using rt mode --
! 92: -- Testing ftruncate(): truncate file to size = 0 --
! 93: int(1024)
! 94: int(0)
! 95: bool(false)
! 96: int(0)
! 97: bool(false)
! 98: int(1024)
! 99: -- Testing ftruncate() with file opening using r+ mode --
! 100: -- Testing ftruncate(): truncate file to size = 0 --
! 101: int(1024)
! 102: int(0)
! 103: bool(true)
! 104: int(0)
! 105: bool(false)
! 106: int(0)
! 107: -- Testing ftruncate() with file opening using r+b mode --
! 108: -- Testing ftruncate(): truncate file to size = 0 --
! 109: int(1024)
! 110: int(0)
! 111: bool(true)
! 112: int(0)
! 113: bool(false)
! 114: int(0)
! 115: -- Testing ftruncate() with file opening using r+t mode --
! 116: -- Testing ftruncate(): truncate file to size = 0 --
! 117: int(1024)
! 118: int(0)
! 119: bool(true)
! 120: int(0)
! 121: bool(false)
! 122: int(0)
! 123: -- Testing ftruncate() with file opening using w mode --
! 124: -- Testing ftruncate(): truncate file to size = 0 --
! 125: int(1024)
! 126: int(0)
! 127: bool(true)
! 128: int(0)
! 129: bool(false)
! 130: int(0)
! 131: -- Testing ftruncate() with file opening using wb mode --
! 132: -- Testing ftruncate(): truncate file to size = 0 --
! 133: int(1024)
! 134: int(0)
! 135: bool(true)
! 136: int(0)
! 137: bool(false)
! 138: int(0)
! 139: -- Testing ftruncate() with file opening using wt mode --
! 140: -- Testing ftruncate(): truncate file to size = 0 --
! 141: int(1024)
! 142: int(0)
! 143: bool(true)
! 144: int(0)
! 145: bool(false)
! 146: int(0)
! 147: -- Testing ftruncate() with file opening using w+ mode --
! 148: -- Testing ftruncate(): truncate file to size = 0 --
! 149: int(1024)
! 150: int(0)
! 151: bool(true)
! 152: int(0)
! 153: bool(false)
! 154: int(0)
! 155: -- Testing ftruncate() with file opening using w+b mode --
! 156: -- Testing ftruncate(): truncate file to size = 0 --
! 157: int(1024)
! 158: int(0)
! 159: bool(true)
! 160: int(0)
! 161: bool(false)
! 162: int(0)
! 163: -- Testing ftruncate() with file opening using w+t mode --
! 164: -- Testing ftruncate(): truncate file to size = 0 --
! 165: int(1024)
! 166: int(0)
! 167: bool(true)
! 168: int(0)
! 169: bool(false)
! 170: int(0)
! 171: -- Testing ftruncate() with file opening using x mode --
! 172: -- Testing ftruncate(): truncate file to size = 0 --
! 173: int(1024)
! 174: int(0)
! 175: bool(true)
! 176: int(0)
! 177: bool(false)
! 178: int(0)
! 179: -- Testing ftruncate() with file opening using xb mode --
! 180: -- Testing ftruncate(): truncate file to size = 0 --
! 181: int(1024)
! 182: int(0)
! 183: bool(true)
! 184: int(0)
! 185: bool(false)
! 186: int(0)
! 187: -- Testing ftruncate() with file opening using xt mode --
! 188: -- Testing ftruncate(): truncate file to size = 0 --
! 189: int(1024)
! 190: int(0)
! 191: bool(true)
! 192: int(0)
! 193: bool(false)
! 194: int(0)
! 195: -- Testing ftruncate() with file opening using x+ mode --
! 196: -- Testing ftruncate(): truncate file to size = 0 --
! 197: int(1024)
! 198: int(0)
! 199: bool(true)
! 200: int(0)
! 201: bool(false)
! 202: int(0)
! 203: -- Testing ftruncate() with file opening using x+b mode --
! 204: -- Testing ftruncate(): truncate file to size = 0 --
! 205: int(1024)
! 206: int(0)
! 207: bool(true)
! 208: int(0)
! 209: bool(false)
! 210: int(0)
! 211: -- Testing ftruncate() with file opening using x+t mode --
! 212: -- Testing ftruncate(): truncate file to size = 0 --
! 213: int(1024)
! 214: int(0)
! 215: bool(true)
! 216: int(0)
! 217: bool(false)
! 218: int(0)
! 219: -- Testing ftruncate() with file opening using a mode --
! 220: -- Testing ftruncate(): truncate file to size = 0 --
! 221: int(1024)
! 222: int(0)
! 223: bool(true)
! 224: int(0)
! 225: bool(false)
! 226: int(0)
! 227: -- Testing ftruncate() with file opening using ab mode --
! 228: -- Testing ftruncate(): truncate file to size = 0 --
! 229: int(1024)
! 230: int(0)
! 231: bool(true)
! 232: int(0)
! 233: bool(false)
! 234: int(0)
! 235: -- Testing ftruncate() with file opening using at mode --
! 236: -- Testing ftruncate(): truncate file to size = 0 --
! 237: int(1024)
! 238: int(0)
! 239: bool(true)
! 240: int(0)
! 241: bool(false)
! 242: int(0)
! 243: -- Testing ftruncate() with file opening using a+ mode --
! 244: -- Testing ftruncate(): truncate file to size = 0 --
! 245: int(1024)
! 246: int(0)
! 247: bool(true)
! 248: int(0)
! 249: bool(false)
! 250: int(0)
! 251: -- Testing ftruncate() with file opening using a+b mode --
! 252: -- Testing ftruncate(): truncate file to size = 0 --
! 253: int(1024)
! 254: int(0)
! 255: bool(true)
! 256: int(0)
! 257: bool(false)
! 258: int(0)
! 259: -- Testing ftruncate() with file opening using a+t mode --
! 260: -- Testing ftruncate(): truncate file to size = 0 --
! 261: int(1024)
! 262: int(0)
! 263: bool(true)
! 264: int(0)
! 265: bool(false)
! 266: int(0)
! 267:
! 268: -- Testing ftruncate() with file having data of type text_with_new_line --
! 269: -- Testing ftruncate() with file opening using r mode --
! 270: -- Testing ftruncate(): truncate file to size = 0 --
! 271: int(1024)
! 272: int(0)
! 273: bool(false)
! 274: int(0)
! 275: bool(false)
! 276: int(1024)
! 277: -- Testing ftruncate() with file opening using rb mode --
! 278: -- Testing ftruncate(): truncate file to size = 0 --
! 279: int(1024)
! 280: int(0)
! 281: bool(false)
! 282: int(0)
! 283: bool(false)
! 284: int(1024)
! 285: -- Testing ftruncate() with file opening using rt mode --
! 286: -- Testing ftruncate(): truncate file to size = 0 --
! 287: int(1024)
! 288: int(0)
! 289: bool(false)
! 290: int(0)
! 291: bool(false)
! 292: int(1024)
! 293: -- Testing ftruncate() with file opening using r+ mode --
! 294: -- Testing ftruncate(): truncate file to size = 0 --
! 295: int(1024)
! 296: int(0)
! 297: bool(true)
! 298: int(0)
! 299: bool(false)
! 300: int(0)
! 301: -- Testing ftruncate() with file opening using r+b mode --
! 302: -- Testing ftruncate(): truncate file to size = 0 --
! 303: int(1024)
! 304: int(0)
! 305: bool(true)
! 306: int(0)
! 307: bool(false)
! 308: int(0)
! 309: -- Testing ftruncate() with file opening using r+t mode --
! 310: -- Testing ftruncate(): truncate file to size = 0 --
! 311: int(1024)
! 312: int(0)
! 313: bool(true)
! 314: int(0)
! 315: bool(false)
! 316: int(0)
! 317: -- Testing ftruncate() with file opening using w mode --
! 318: -- Testing ftruncate(): truncate file to size = 0 --
! 319: int(1024)
! 320: int(0)
! 321: bool(true)
! 322: int(0)
! 323: bool(false)
! 324: int(0)
! 325: -- Testing ftruncate() with file opening using wb mode --
! 326: -- Testing ftruncate(): truncate file to size = 0 --
! 327: int(1024)
! 328: int(0)
! 329: bool(true)
! 330: int(0)
! 331: bool(false)
! 332: int(0)
! 333: -- Testing ftruncate() with file opening using wt mode --
! 334: -- Testing ftruncate(): truncate file to size = 0 --
! 335: int(1024)
! 336: int(0)
! 337: bool(true)
! 338: int(0)
! 339: bool(false)
! 340: int(0)
! 341: -- Testing ftruncate() with file opening using w+ mode --
! 342: -- Testing ftruncate(): truncate file to size = 0 --
! 343: int(1024)
! 344: int(0)
! 345: bool(true)
! 346: int(0)
! 347: bool(false)
! 348: int(0)
! 349: -- Testing ftruncate() with file opening using w+b mode --
! 350: -- Testing ftruncate(): truncate file to size = 0 --
! 351: int(1024)
! 352: int(0)
! 353: bool(true)
! 354: int(0)
! 355: bool(false)
! 356: int(0)
! 357: -- Testing ftruncate() with file opening using w+t mode --
! 358: -- Testing ftruncate(): truncate file to size = 0 --
! 359: int(1024)
! 360: int(0)
! 361: bool(true)
! 362: int(0)
! 363: bool(false)
! 364: int(0)
! 365: -- Testing ftruncate() with file opening using x mode --
! 366: -- Testing ftruncate(): truncate file to size = 0 --
! 367: int(1024)
! 368: int(0)
! 369: bool(true)
! 370: int(0)
! 371: bool(false)
! 372: int(0)
! 373: -- Testing ftruncate() with file opening using xb mode --
! 374: -- Testing ftruncate(): truncate file to size = 0 --
! 375: int(1024)
! 376: int(0)
! 377: bool(true)
! 378: int(0)
! 379: bool(false)
! 380: int(0)
! 381: -- Testing ftruncate() with file opening using xt mode --
! 382: -- Testing ftruncate(): truncate file to size = 0 --
! 383: int(1024)
! 384: int(0)
! 385: bool(true)
! 386: int(0)
! 387: bool(false)
! 388: int(0)
! 389: -- Testing ftruncate() with file opening using x+ mode --
! 390: -- Testing ftruncate(): truncate file to size = 0 --
! 391: int(1024)
! 392: int(0)
! 393: bool(true)
! 394: int(0)
! 395: bool(false)
! 396: int(0)
! 397: -- Testing ftruncate() with file opening using x+b mode --
! 398: -- Testing ftruncate(): truncate file to size = 0 --
! 399: int(1024)
! 400: int(0)
! 401: bool(true)
! 402: int(0)
! 403: bool(false)
! 404: int(0)
! 405: -- Testing ftruncate() with file opening using x+t mode --
! 406: -- Testing ftruncate(): truncate file to size = 0 --
! 407: int(1024)
! 408: int(0)
! 409: bool(true)
! 410: int(0)
! 411: bool(false)
! 412: int(0)
! 413: -- Testing ftruncate() with file opening using a mode --
! 414: -- Testing ftruncate(): truncate file to size = 0 --
! 415: int(1024)
! 416: int(0)
! 417: bool(true)
! 418: int(0)
! 419: bool(false)
! 420: int(0)
! 421: -- Testing ftruncate() with file opening using ab mode --
! 422: -- Testing ftruncate(): truncate file to size = 0 --
! 423: int(1024)
! 424: int(0)
! 425: bool(true)
! 426: int(0)
! 427: bool(false)
! 428: int(0)
! 429: -- Testing ftruncate() with file opening using at mode --
! 430: -- Testing ftruncate(): truncate file to size = 0 --
! 431: int(1024)
! 432: int(0)
! 433: bool(true)
! 434: int(0)
! 435: bool(false)
! 436: int(0)
! 437: -- Testing ftruncate() with file opening using a+ mode --
! 438: -- Testing ftruncate(): truncate file to size = 0 --
! 439: int(1024)
! 440: int(0)
! 441: bool(true)
! 442: int(0)
! 443: bool(false)
! 444: int(0)
! 445: -- Testing ftruncate() with file opening using a+b mode --
! 446: -- Testing ftruncate(): truncate file to size = 0 --
! 447: int(1024)
! 448: int(0)
! 449: bool(true)
! 450: int(0)
! 451: bool(false)
! 452: int(0)
! 453: -- Testing ftruncate() with file opening using a+t mode --
! 454: -- Testing ftruncate(): truncate file to size = 0 --
! 455: int(1024)
! 456: int(0)
! 457: bool(true)
! 458: int(0)
! 459: bool(false)
! 460: int(0)
! 461: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>