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