Annotation of embedaddon/php/ext/standard/tests/file/fwrite_variation2-win32.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test fwrite() function : usage variations - r+, r+b & r+t modes
! 3: --SKIPIF--
! 4: <?php
! 5: if( substr(PHP_OS, 0, 3) != 'WIN' ) {
! 6: die('skip...Not valid for Linux');
! 7: }
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: /*
! 12: Prototype: int fwrite ( resource $handle,string string, [, int $length] );
! 13: Description: fwrite() writes the contents of string to the file stream pointed to by handle.
! 14: If the length arquement is given,writing will stop after length bytes have been
! 15: written or the end of string reached, whichever comes first.
! 16: fwrite() returns the number of bytes written or FALSE on error
! 17: */
! 18:
! 19:
! 20: echo "*** Testing fwrite() various operations ***\n";
! 21:
! 22: // include the file.inc for Function: function delete_file($filename)
! 23: include ("file.inc");
! 24:
! 25: /*
! 26: Test fwrite with file opened in mode : r+,r+b,r+t
! 27: File having content of type numeric, text,text_with_new_line & alphanumeric
! 28: */
! 29:
! 30: $file_modes = array("r+", "r+b", "r+t");
! 31: $file_content_types = array("numeric","text","text_with_new_line","alphanumeric");
! 32:
! 33:
! 34: foreach($file_content_types as $file_content_type) {
! 35: echo "\n-- Testing fwrite() with file having content of type ". $file_content_type ." --\n";
! 36:
! 37: /* open the file using $files_modes and perform fwrite() on it */
! 38: foreach($file_modes as $file_mode) {
! 39: echo "-- Opening file in $file_mode --\n";
! 40:
! 41: // create temp file and fill the data of type $file_content_type
! 42: $filename = dirname(__FILE__)."/fwrite_variation2.tmp"; // this is name of the file
! 43: create_files ( dirname(__FILE__), 1, $file_content_type, 0755, 1, "w", "fwrite_variation", 2);
! 44:
! 45: $file_handle = fopen($filename, $file_mode);
! 46: if(!$file_handle) {
! 47: echo "Error: failed to fopen() file: $filename!";
! 48: exit();
! 49: }
! 50:
! 51: $data_to_be_written="";
! 52: fill_buffer($data_to_be_written,$file_content_type,1024); //get the data of size 1024
! 53:
! 54: /* Write the data into the file, verify it by checking the file pointer position, eof position,
! 55: filesize & by displaying the content */
! 56:
! 57: /*overwrite first 400 bytes in the file*/
! 58: var_dump( ftell($file_handle) ); // expected : 0
! 59: var_dump( fwrite($file_handle, $data_to_be_written, 400));
! 60: var_dump( ftell($file_handle) ); // expected: 400
! 61: var_dump( feof($file_handle) ); //Expecting bool(false)
! 62:
! 63: /*overwrite data in middle of the file*/
! 64: fseek($file_handle, SEEK_SET, 1024/2 );
! 65: var_dump( ftell($file_handle)); // expected: 1024/2
! 66: var_dump( fwrite($file_handle, $data_to_be_written, 200) );
! 67: var_dump( ftell($file_handle) );
! 68: var_dump( feof($file_handle) ); //Expecting bool(false)
! 69:
! 70: /* write at the end of the file */
! 71: fseek($file_handle, SEEK_END, 0);
! 72: var_dump( ftell($file_handle) ); // expected: 1024
! 73: var_dump( feof($file_handle) );
! 74: var_dump( fwrite($file_handle, $data_to_be_written, 200) );
! 75: var_dump( ftell($file_handle) );
! 76: var_dump( feof($file_handle) ); //Expecting bool(false)
! 77:
! 78: /* display the file content, check the file size */
! 79: var_dump( fclose($file_handle) );
! 80: clearstatcache();//clears file status cache
! 81: var_dump( filesize($filename) );
! 82: var_dump(md5(file_get_contents($filename)));
! 83: delete_file($filename); // delete file with name fwrite_variation2.tmp
! 84:
! 85: } // end of inner foreach loop
! 86: } // end of outer foreach loop
! 87:
! 88: echo "Done\n";
! 89: ?>
! 90: --EXPECTF--
! 91: *** Testing fwrite() various operations ***
! 92:
! 93: -- Testing fwrite() with file having content of type numeric --
! 94: -- Opening file in r+ --
! 95: int(0)
! 96: int(400)
! 97: int(400)
! 98: bool(false)
! 99: int(400)
! 100: int(200)
! 101: int(600)
! 102: bool(false)
! 103: int(2)
! 104: bool(false)
! 105: int(200)
! 106: int(202)
! 107: bool(false)
! 108: bool(true)
! 109: int(1024)
! 110: string(32) "950b7457d1deb6332f2fc5d42f3129d6"
! 111: -- Opening file in r+b --
! 112: int(0)
! 113: int(400)
! 114: int(400)
! 115: bool(false)
! 116: int(400)
! 117: int(200)
! 118: int(600)
! 119: bool(false)
! 120: int(2)
! 121: bool(false)
! 122: int(200)
! 123: int(202)
! 124: bool(false)
! 125: bool(true)
! 126: int(1024)
! 127: string(32) "950b7457d1deb6332f2fc5d42f3129d6"
! 128: -- Opening file in r+t --
! 129: int(0)
! 130: int(400)
! 131: int(400)
! 132: bool(false)
! 133: int(400)
! 134: int(200)
! 135: int(600)
! 136: bool(false)
! 137: int(2)
! 138: bool(false)
! 139: int(200)
! 140: int(202)
! 141: bool(false)
! 142: bool(true)
! 143: int(1024)
! 144: string(32) "950b7457d1deb6332f2fc5d42f3129d6"
! 145:
! 146: -- Testing fwrite() with file having content of type text --
! 147: -- Opening file in r+ --
! 148: int(0)
! 149: int(400)
! 150: int(400)
! 151: bool(false)
! 152: int(400)
! 153: int(200)
! 154: int(600)
! 155: bool(false)
! 156: int(2)
! 157: bool(false)
! 158: int(200)
! 159: int(202)
! 160: bool(false)
! 161: bool(true)
! 162: int(1024)
! 163: string(32) "3bdaf80dae28bc24bb304daa5ffee16c"
! 164: -- Opening file in r+b --
! 165: int(0)
! 166: int(400)
! 167: int(400)
! 168: bool(false)
! 169: int(400)
! 170: int(200)
! 171: int(600)
! 172: bool(false)
! 173: int(2)
! 174: bool(false)
! 175: int(200)
! 176: int(202)
! 177: bool(false)
! 178: bool(true)
! 179: int(1024)
! 180: string(32) "3bdaf80dae28bc24bb304daa5ffee16c"
! 181: -- Opening file in r+t --
! 182: int(0)
! 183: int(400)
! 184: int(400)
! 185: bool(false)
! 186: int(400)
! 187: int(200)
! 188: int(600)
! 189: bool(false)
! 190: int(2)
! 191: bool(false)
! 192: int(200)
! 193: int(202)
! 194: bool(false)
! 195: bool(true)
! 196: int(1024)
! 197: string(32) "3bdaf80dae28bc24bb304daa5ffee16c"
! 198:
! 199: -- Testing fwrite() with file having content of type text_with_new_line --
! 200: -- Opening file in r+ --
! 201: int(0)
! 202: int(400)
! 203: int(400)
! 204: bool(false)
! 205: int(400)
! 206: int(200)
! 207: int(600)
! 208: bool(false)
! 209: int(2)
! 210: bool(false)
! 211: int(200)
! 212: int(202)
! 213: bool(false)
! 214: bool(true)
! 215: int(1024)
! 216: string(32) "b188d7c8aa229cbef067e5970f2daba9"
! 217: -- Opening file in r+b --
! 218: int(0)
! 219: int(400)
! 220: int(400)
! 221: bool(false)
! 222: int(400)
! 223: int(200)
! 224: int(600)
! 225: bool(false)
! 226: int(2)
! 227: bool(false)
! 228: int(200)
! 229: int(202)
! 230: bool(false)
! 231: bool(true)
! 232: int(1024)
! 233: string(32) "b188d7c8aa229cbef067e5970f2daba9"
! 234: -- Opening file in r+t --
! 235: int(0)
! 236: int(400)
! 237: int(400)
! 238: bool(false)
! 239: int(400)
! 240: int(200)
! 241: int(600)
! 242: bool(false)
! 243: int(2)
! 244: bool(false)
! 245: int(200)
! 246: int(202)
! 247: bool(false)
! 248: bool(true)
! 249: int(1024)
! 250: string(32) "991652c76db8d17c790c702ac0a6dc5f"
! 251:
! 252: -- Testing fwrite() with file having content of type alphanumeric --
! 253: -- Opening file in r+ --
! 254: int(0)
! 255: int(400)
! 256: int(400)
! 257: bool(false)
! 258: int(400)
! 259: int(200)
! 260: int(600)
! 261: bool(false)
! 262: int(2)
! 263: bool(false)
! 264: int(200)
! 265: int(202)
! 266: bool(false)
! 267: bool(true)
! 268: int(1024)
! 269: string(32) "5d4ec23a3d9dd447e2f702d9e0e114d9"
! 270: -- Opening file in r+b --
! 271: int(0)
! 272: int(400)
! 273: int(400)
! 274: bool(false)
! 275: int(400)
! 276: int(200)
! 277: int(600)
! 278: bool(false)
! 279: int(2)
! 280: bool(false)
! 281: int(200)
! 282: int(202)
! 283: bool(false)
! 284: bool(true)
! 285: int(1024)
! 286: string(32) "5d4ec23a3d9dd447e2f702d9e0e114d9"
! 287: -- Opening file in r+t --
! 288: int(0)
! 289: int(400)
! 290: int(400)
! 291: bool(false)
! 292: int(400)
! 293: int(200)
! 294: int(600)
! 295: bool(false)
! 296: int(2)
! 297: bool(false)
! 298: int(200)
! 299: int(202)
! 300: bool(false)
! 301: bool(true)
! 302: int(1024)
! 303: string(32) "5d4ec23a3d9dd447e2f702d9e0e114d9"
! 304: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>