Annotation of embedaddon/php/ext/standard/tests/file/fgetcsv_variation14.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Test fgetcsv() : usage variations - reading the 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: /* Testing fgetcsv() by reading a file containing a blank line */
                     11: 
                     12: echo "*** Testing fgetcsv() : reading the blank line ***\n";
                     13: 
                     14: 
                     15: $filename = dirname(__FILE__) . '/fgetcsv_variation14.tmp';
                     16: @unlink($filename);
                     17: 
                     18: $file_modes = array ("r","rb", "rt", "r+", "r+b", "r+t",
                     19:                      "a+", "a+b", "a+t",
                     20:                      "w+", "w+b", "w+t",
                     21:                      "x+", "x+b", "x+t"); 
                     22: 
                     23: $loop_counter = 1;
                     24:   for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
                     25:     // create the file and add the content with has csv fields
                     26:     if ( strstr($file_modes[$mode_counter], "r") ) {
                     27:       $file_handle = fopen($filename, "w");
                     28:     } else {
                     29:       $file_handle = fopen($filename, $file_modes[$mode_counter] );
                     30:     }
                     31:     if ( !$file_handle ) {
                     32:       echo "Error: failed to create file $filename!\n";
                     33:       exit();
                     34:     }
                     35:     // write a blank line
                     36:     fwrite($file_handle, "\n"); // blank line
                     37: 
                     38:     // close the file if the mode to be used is read mode  and re-open using read mode
1.1.1.2 ! misho      39:     // else rewind the file pointer to beginning of the file 
1.1       misho      40:     if ( strstr($file_modes[$mode_counter], "r" ) ) {
                     41:       fclose($file_handle);
                     42:       $file_handle = fopen($filename, $file_modes[$mode_counter]);
                     43:     } else {
                     44:       // rewind the file pointer to bof
                     45:       rewind($file_handle);
                     46:     }
                     47:       
                     48:     echo "\n-- Testing fgetcsv() with file opened using $file_modes[$mode_counter] mode --\n"; 
                     49: 
                     50:     // call fgetcsv() to parse csv fields
                     51: 
                     52:     // read the next line which is a blank line to see the working of fgetcsv
                     53:     $fp_pos = ftell($file_handle);
                     54:     var_dump( fgetcsv($file_handle, 1024) );
                     55:     // check the file pointer position and if eof
                     56:     var_dump( ftell($file_handle) );
                     57:     var_dump( feof($file_handle) );
                     58:     // read again to struck EOF
                     59:     var_dump( fgetcsv($file_handle, 1024) );
                     60:     // check the file pointer position and if eof
                     61:     var_dump( ftell($file_handle) );
                     62:     var_dump( feof($file_handle) );
                     63: 
                     64:     // close the file
                     65:     fclose($file_handle);
                     66:     //delete file
                     67:     unlink($filename);
                     68:   } //end of mode loop 
                     69: 
                     70: echo "Done\n";
                     71: ?>
                     72: --EXPECT--
                     73: *** Testing fgetcsv() : reading the blank line ***
                     74: 
                     75: -- Testing fgetcsv() with file opened using r mode --
                     76: array(1) {
                     77:   [0]=>
                     78:   NULL
                     79: }
                     80: int(1)
                     81: bool(false)
                     82: bool(false)
                     83: int(1)
                     84: bool(true)
                     85: 
                     86: -- Testing fgetcsv() with file opened using rb mode --
                     87: array(1) {
                     88:   [0]=>
                     89:   NULL
                     90: }
                     91: int(1)
                     92: bool(false)
                     93: bool(false)
                     94: int(1)
                     95: bool(true)
                     96: 
                     97: -- Testing fgetcsv() with file opened using rt mode --
                     98: array(1) {
                     99:   [0]=>
                    100:   NULL
                    101: }
                    102: int(1)
                    103: bool(false)
                    104: bool(false)
                    105: int(1)
                    106: bool(true)
                    107: 
                    108: -- Testing fgetcsv() with file opened using r+ mode --
                    109: array(1) {
                    110:   [0]=>
                    111:   NULL
                    112: }
                    113: int(1)
                    114: bool(false)
                    115: bool(false)
                    116: int(1)
                    117: bool(true)
                    118: 
                    119: -- Testing fgetcsv() with file opened using r+b mode --
                    120: array(1) {
                    121:   [0]=>
                    122:   NULL
                    123: }
                    124: int(1)
                    125: bool(false)
                    126: bool(false)
                    127: int(1)
                    128: bool(true)
                    129: 
                    130: -- Testing fgetcsv() with file opened using r+t mode --
                    131: array(1) {
                    132:   [0]=>
                    133:   NULL
                    134: }
                    135: int(1)
                    136: bool(false)
                    137: bool(false)
                    138: int(1)
                    139: bool(true)
                    140: 
                    141: -- Testing fgetcsv() with file opened using a+ mode --
                    142: array(1) {
                    143:   [0]=>
                    144:   NULL
                    145: }
                    146: int(1)
                    147: bool(false)
                    148: bool(false)
                    149: int(1)
                    150: bool(true)
                    151: 
                    152: -- Testing fgetcsv() with file opened using a+b mode --
                    153: array(1) {
                    154:   [0]=>
                    155:   NULL
                    156: }
                    157: int(1)
                    158: bool(false)
                    159: bool(false)
                    160: int(1)
                    161: bool(true)
                    162: 
                    163: -- Testing fgetcsv() with file opened using a+t mode --
                    164: array(1) {
                    165:   [0]=>
                    166:   NULL
                    167: }
                    168: int(1)
                    169: bool(false)
                    170: bool(false)
                    171: int(1)
                    172: bool(true)
                    173: 
                    174: -- Testing fgetcsv() with file opened using w+ mode --
                    175: array(1) {
                    176:   [0]=>
                    177:   NULL
                    178: }
                    179: int(1)
                    180: bool(false)
                    181: bool(false)
                    182: int(1)
                    183: bool(true)
                    184: 
                    185: -- Testing fgetcsv() with file opened using w+b mode --
                    186: array(1) {
                    187:   [0]=>
                    188:   NULL
                    189: }
                    190: int(1)
                    191: bool(false)
                    192: bool(false)
                    193: int(1)
                    194: bool(true)
                    195: 
                    196: -- Testing fgetcsv() with file opened using w+t mode --
                    197: array(1) {
                    198:   [0]=>
                    199:   NULL
                    200: }
                    201: int(1)
                    202: bool(false)
                    203: bool(false)
                    204: int(1)
                    205: bool(true)
                    206: 
                    207: -- Testing fgetcsv() with file opened using x+ mode --
                    208: array(1) {
                    209:   [0]=>
                    210:   NULL
                    211: }
                    212: int(1)
                    213: bool(false)
                    214: bool(false)
                    215: int(1)
                    216: bool(true)
                    217: 
                    218: -- Testing fgetcsv() with file opened using x+b mode --
                    219: array(1) {
                    220:   [0]=>
                    221:   NULL
                    222: }
                    223: int(1)
                    224: bool(false)
                    225: bool(false)
                    226: int(1)
                    227: bool(true)
                    228: 
                    229: -- Testing fgetcsv() with file opened using x+t mode --
                    230: array(1) {
                    231:   [0]=>
                    232:   NULL
                    233: }
                    234: int(1)
                    235: bool(false)
                    236: bool(false)
                    237: int(1)
                    238: bool(true)
                    239: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>