Annotation of embedaddon/php/ext/standard/tests/file/fgets_variation5.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test fgets() function : usage variations - read beyond filesize
! 3: --FILE--
! 4: <?php
! 5: /*
! 6: Prototype: string fgets ( resource $handle [, int $length] );
! 7: Description: Gets a line from file pointer
! 8: */
! 9:
! 10: // include the file.inc for common test funcitons
! 11: include ("file.inc");
! 12:
! 13: $file_modes = array("w+", "w+b", "w+t",
! 14: "a+", "a+b", "a+t",
! 15: "x+", "x+b", "x+t");
! 16:
! 17: $file_content_types = array("numeric", "text", "text_with_new_line", "alphanumeric");
! 18:
! 19: echo "*** Testing fgets() : usage variations ***\n";
! 20:
! 21: $filename = dirname(__FILE__)."/fgets_variation5.tmp";
! 22:
! 23: foreach($file_modes as $file_mode) {
! 24: echo "\n-- Testing fgets() with file opened using mode $file_mode --\n";
! 25:
! 26: foreach($file_content_types as $file_content_type) {
! 27: echo "-- File content type : $file_content_type --\n";
! 28:
! 29: /* create files with $file_content_type */
! 30: $file_handle = fopen($filename, $file_mode);
! 31: $data = fill_file($file_handle, $file_content_type, 50);
! 32:
! 33: if ( !$file_handle ) {
! 34: echo "Error: failed to open file $filename!";
! 35: exit();
! 36: }
! 37:
! 38: /* read with length beyong file size */
! 39: echo "-- fgets() with length > filesize --\n";
! 40: rewind($file_handle);
! 41:
! 42: var_dump( ftell($file_handle) );
! 43: var_dump( fgets($file_handle, 50 + 23) ); // expected: 50
! 44: var_dump( ftell($file_handle) ); // ensure the file pointer position
! 45: var_dump( feof($file_handle) ); // enusre if eof set
! 46:
! 47: //close file
! 48: fclose($file_handle);
! 49:
! 50: // delete file
! 51: delete_file($filename);
! 52: } // file_content_type loop
! 53: } // file_mode loop
! 54:
! 55: echo "Done\n";
! 56: ?>
! 57: --EXPECTF--
! 58: *** Testing fgets() : usage variations ***
! 59:
! 60: -- Testing fgets() with file opened using mode w+ --
! 61: -- File content type : numeric --
! 62: -- fgets() with length > filesize --
! 63: int(0)
! 64: string(50) "22222222222222222222222222222222222222222222222222"
! 65: int(50)
! 66: bool(true)
! 67: -- File content type : text --
! 68: -- fgets() with length > filesize --
! 69: int(0)
! 70: string(50) "text text text text text text text text text text "
! 71: int(50)
! 72: bool(true)
! 73: -- File content type : text_with_new_line --
! 74: -- fgets() with length > filesize --
! 75: int(0)
! 76: string(5) "line
! 77: "
! 78: int(5)
! 79: bool(false)
! 80: -- File content type : alphanumeric --
! 81: -- fgets() with length > filesize --
! 82: int(0)
! 83: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 84: int(50)
! 85: bool(true)
! 86:
! 87: -- Testing fgets() with file opened using mode w+b --
! 88: -- File content type : numeric --
! 89: -- fgets() with length > filesize --
! 90: int(0)
! 91: string(50) "22222222222222222222222222222222222222222222222222"
! 92: int(50)
! 93: bool(true)
! 94: -- File content type : text --
! 95: -- fgets() with length > filesize --
! 96: int(0)
! 97: string(50) "text text text text text text text text text text "
! 98: int(50)
! 99: bool(true)
! 100: -- File content type : text_with_new_line --
! 101: -- fgets() with length > filesize --
! 102: int(0)
! 103: string(5) "line
! 104: "
! 105: int(5)
! 106: bool(false)
! 107: -- File content type : alphanumeric --
! 108: -- fgets() with length > filesize --
! 109: int(0)
! 110: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 111: int(50)
! 112: bool(true)
! 113:
! 114: -- Testing fgets() with file opened using mode w+t --
! 115: -- File content type : numeric --
! 116: -- fgets() with length > filesize --
! 117: int(0)
! 118: string(50) "22222222222222222222222222222222222222222222222222"
! 119: int(50)
! 120: bool(true)
! 121: -- File content type : text --
! 122: -- fgets() with length > filesize --
! 123: int(0)
! 124: string(50) "text text text text text text text text text text "
! 125: int(50)
! 126: bool(true)
! 127: -- File content type : text_with_new_line --
! 128: -- fgets() with length > filesize --
! 129: int(0)
! 130: string(5) "line
! 131: "
! 132: int(5)
! 133: bool(false)
! 134: -- File content type : alphanumeric --
! 135: -- fgets() with length > filesize --
! 136: int(0)
! 137: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 138: int(50)
! 139: bool(true)
! 140:
! 141: -- Testing fgets() with file opened using mode a+ --
! 142: -- File content type : numeric --
! 143: -- fgets() with length > filesize --
! 144: int(0)
! 145: string(50) "22222222222222222222222222222222222222222222222222"
! 146: int(50)
! 147: bool(true)
! 148: -- File content type : text --
! 149: -- fgets() with length > filesize --
! 150: int(0)
! 151: string(50) "text text text text text text text text text text "
! 152: int(50)
! 153: bool(true)
! 154: -- File content type : text_with_new_line --
! 155: -- fgets() with length > filesize --
! 156: int(0)
! 157: string(5) "line
! 158: "
! 159: int(5)
! 160: bool(false)
! 161: -- File content type : alphanumeric --
! 162: -- fgets() with length > filesize --
! 163: int(0)
! 164: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 165: int(50)
! 166: bool(true)
! 167:
! 168: -- Testing fgets() with file opened using mode a+b --
! 169: -- File content type : numeric --
! 170: -- fgets() with length > filesize --
! 171: int(0)
! 172: string(50) "22222222222222222222222222222222222222222222222222"
! 173: int(50)
! 174: bool(true)
! 175: -- File content type : text --
! 176: -- fgets() with length > filesize --
! 177: int(0)
! 178: string(50) "text text text text text text text text text text "
! 179: int(50)
! 180: bool(true)
! 181: -- File content type : text_with_new_line --
! 182: -- fgets() with length > filesize --
! 183: int(0)
! 184: string(5) "line
! 185: "
! 186: int(5)
! 187: bool(false)
! 188: -- File content type : alphanumeric --
! 189: -- fgets() with length > filesize --
! 190: int(0)
! 191: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 192: int(50)
! 193: bool(true)
! 194:
! 195: -- Testing fgets() with file opened using mode a+t --
! 196: -- File content type : numeric --
! 197: -- fgets() with length > filesize --
! 198: int(0)
! 199: string(50) "22222222222222222222222222222222222222222222222222"
! 200: int(50)
! 201: bool(true)
! 202: -- File content type : text --
! 203: -- fgets() with length > filesize --
! 204: int(0)
! 205: string(50) "text text text text text text text text text text "
! 206: int(50)
! 207: bool(true)
! 208: -- File content type : text_with_new_line --
! 209: -- fgets() with length > filesize --
! 210: int(0)
! 211: string(5) "line
! 212: "
! 213: int(5)
! 214: bool(false)
! 215: -- File content type : alphanumeric --
! 216: -- fgets() with length > filesize --
! 217: int(0)
! 218: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 219: int(50)
! 220: bool(true)
! 221:
! 222: -- Testing fgets() with file opened using mode x+ --
! 223: -- File content type : numeric --
! 224: -- fgets() with length > filesize --
! 225: int(0)
! 226: string(50) "22222222222222222222222222222222222222222222222222"
! 227: int(50)
! 228: bool(true)
! 229: -- File content type : text --
! 230: -- fgets() with length > filesize --
! 231: int(0)
! 232: string(50) "text text text text text text text text text text "
! 233: int(50)
! 234: bool(true)
! 235: -- File content type : text_with_new_line --
! 236: -- fgets() with length > filesize --
! 237: int(0)
! 238: string(5) "line
! 239: "
! 240: int(5)
! 241: bool(false)
! 242: -- File content type : alphanumeric --
! 243: -- fgets() with length > filesize --
! 244: int(0)
! 245: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 246: int(50)
! 247: bool(true)
! 248:
! 249: -- Testing fgets() with file opened using mode x+b --
! 250: -- File content type : numeric --
! 251: -- fgets() with length > filesize --
! 252: int(0)
! 253: string(50) "22222222222222222222222222222222222222222222222222"
! 254: int(50)
! 255: bool(true)
! 256: -- File content type : text --
! 257: -- fgets() with length > filesize --
! 258: int(0)
! 259: string(50) "text text text text text text text text text text "
! 260: int(50)
! 261: bool(true)
! 262: -- File content type : text_with_new_line --
! 263: -- fgets() with length > filesize --
! 264: int(0)
! 265: string(5) "line
! 266: "
! 267: int(5)
! 268: bool(false)
! 269: -- File content type : alphanumeric --
! 270: -- fgets() with length > filesize --
! 271: int(0)
! 272: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 273: int(50)
! 274: bool(true)
! 275:
! 276: -- Testing fgets() with file opened using mode x+t --
! 277: -- File content type : numeric --
! 278: -- fgets() with length > filesize --
! 279: int(0)
! 280: string(50) "22222222222222222222222222222222222222222222222222"
! 281: int(50)
! 282: bool(true)
! 283: -- File content type : text --
! 284: -- fgets() with length > filesize --
! 285: int(0)
! 286: string(50) "text text text text text text text text text text "
! 287: int(50)
! 288: bool(true)
! 289: -- File content type : text_with_new_line --
! 290: -- fgets() with length > filesize --
! 291: int(0)
! 292: string(5) "line
! 293: "
! 294: int(5)
! 295: bool(false)
! 296: -- File content type : alphanumeric --
! 297: -- fgets() with length > filesize --
! 298: int(0)
! 299: string(50) "ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 "
! 300: int(50)
! 301: bool(true)
! 302: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>