Annotation of embedaddon/php/ext/standard/tests/file/fgetcsv_variation21.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test fgetcsv() : usage variations - with default enclosure, blank line
! 3: --FILE--
! 4: <?php
! 5: /*
! 6: Prototype: array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure]]] );
! 7: Description: Gets line from file pointer and parse for CSV fields
! 8: */
! 9:
! 10: /*
! 11: Testing fgetcsv() to read a file containing blank line when provided with
! 12: default enclosure argument
! 13: */
! 14:
! 15: echo "*** Testing fgetcsv() : with default enclosure, blank line ***\n";
! 16:
! 17: $filename = dirname(__FILE__) . '/fgetcsv_variation21.tmp';
! 18: @unlink($filename);
! 19:
! 20: $file_modes = array ("r","rb", "rt", "r+", "r+b", "r+t",
! 21: "a+", "a+b", "a+t",
! 22: "w+", "w+b", "w+t",
! 23: "x+", "x+b", "x+t");
! 24:
! 25: $loop_counter = 1;
! 26: for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
! 27: // create the file and add the content with has csv fields
! 28: if ( strstr($file_modes[$mode_counter], "r") ) {
! 29: $file_handle = fopen($filename, "w");
! 30: } else {
! 31: $file_handle = fopen($filename, $file_modes[$mode_counter] );
! 32: }
! 33: if ( !$file_handle ) {
! 34: echo "Error: failed to create file $filename!\n";
! 35: exit();
! 36: }
! 37: // write a blank line
! 38: fwrite($file_handle, "\n"); // blank line
! 39:
! 40: // close the file if the mode to be used is read mode and re-open using read mode
! 41: // else rewind the file pointer to begining of the file
! 42: if ( strstr($file_modes[$mode_counter], "r" ) ) {
! 43: fclose($file_handle);
! 44: $file_handle = fopen($filename, $file_modes[$mode_counter]);
! 45: } else {
! 46: // rewind the file pointer to bof
! 47: rewind($file_handle);
! 48: }
! 49:
! 50: echo "\n-- Testing fgetcsv() with file opened using $file_modes[$mode_counter] mode --\n";
! 51:
! 52: // call fgetcsv() to parse csv fields
! 53:
! 54: // read the line which is a blank line to see the working of fgetcsv
! 55: $fp_pos = ftell($file_handle);
! 56: var_dump( fgetcsv($file_handle, 1024, '+') );
! 57: // check the file pointer position and if eof
! 58: var_dump( ftell($file_handle) );
! 59: var_dump( feof($file_handle) );
! 60:
! 61: // close the file
! 62: fclose($file_handle);
! 63: //delete file
! 64: unlink($filename);
! 65: } //end of mode loop
! 66:
! 67: echo "Done\n";
! 68: ?>
! 69: --EXPECT--
! 70: *** Testing fgetcsv() : with default enclosure, blank line ***
! 71:
! 72: -- Testing fgetcsv() with file opened using r mode --
! 73: array(1) {
! 74: [0]=>
! 75: NULL
! 76: }
! 77: int(1)
! 78: bool(false)
! 79:
! 80: -- Testing fgetcsv() with file opened using rb mode --
! 81: array(1) {
! 82: [0]=>
! 83: NULL
! 84: }
! 85: int(1)
! 86: bool(false)
! 87:
! 88: -- Testing fgetcsv() with file opened using rt mode --
! 89: array(1) {
! 90: [0]=>
! 91: NULL
! 92: }
! 93: int(1)
! 94: bool(false)
! 95:
! 96: -- Testing fgetcsv() with file opened using r+ mode --
! 97: array(1) {
! 98: [0]=>
! 99: NULL
! 100: }
! 101: int(1)
! 102: bool(false)
! 103:
! 104: -- Testing fgetcsv() with file opened using r+b mode --
! 105: array(1) {
! 106: [0]=>
! 107: NULL
! 108: }
! 109: int(1)
! 110: bool(false)
! 111:
! 112: -- Testing fgetcsv() with file opened using r+t mode --
! 113: array(1) {
! 114: [0]=>
! 115: NULL
! 116: }
! 117: int(1)
! 118: bool(false)
! 119:
! 120: -- Testing fgetcsv() with file opened using a+ mode --
! 121: array(1) {
! 122: [0]=>
! 123: NULL
! 124: }
! 125: int(1)
! 126: bool(false)
! 127:
! 128: -- Testing fgetcsv() with file opened using a+b mode --
! 129: array(1) {
! 130: [0]=>
! 131: NULL
! 132: }
! 133: int(1)
! 134: bool(false)
! 135:
! 136: -- Testing fgetcsv() with file opened using a+t mode --
! 137: array(1) {
! 138: [0]=>
! 139: NULL
! 140: }
! 141: int(1)
! 142: bool(false)
! 143:
! 144: -- Testing fgetcsv() with file opened using w+ mode --
! 145: array(1) {
! 146: [0]=>
! 147: NULL
! 148: }
! 149: int(1)
! 150: bool(false)
! 151:
! 152: -- Testing fgetcsv() with file opened using w+b mode --
! 153: array(1) {
! 154: [0]=>
! 155: NULL
! 156: }
! 157: int(1)
! 158: bool(false)
! 159:
! 160: -- Testing fgetcsv() with file opened using w+t mode --
! 161: array(1) {
! 162: [0]=>
! 163: NULL
! 164: }
! 165: int(1)
! 166: bool(false)
! 167:
! 168: -- Testing fgetcsv() with file opened using x+ mode --
! 169: array(1) {
! 170: [0]=>
! 171: NULL
! 172: }
! 173: int(1)
! 174: bool(false)
! 175:
! 176: -- Testing fgetcsv() with file opened using x+b mode --
! 177: array(1) {
! 178: [0]=>
! 179: NULL
! 180: }
! 181: int(1)
! 182: bool(false)
! 183:
! 184: -- Testing fgetcsv() with file opened using x+t mode --
! 185: array(1) {
! 186: [0]=>
! 187: NULL
! 188: }
! 189: int(1)
! 190: bool(false)
! 191: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>