Annotation of embedaddon/php/ext/standard/tests/file/fputcsv_variation14.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test fputcsv() : usage variations - with enclosure & delimiter of two chars(read only modes)
                      3: --FILE--
                      4: <?php
                      5: /* 
                      6:  Prototype: array fputcsv ( resource $handle , array $fields [, string $delimiter [, string $enclosure]]] );
                      7:  Description: Format line as CSV and write to the file pointer 
                      8: */
                      9: 
                     10: /* Testing fputcsv() to write to a file when default enclosure value and delimiter
                     11:    of two chars is provided and file is opened in read only mode */
                     12: 
                     13: echo "*** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***\n";
                     14: 
                     15: /* the array is with three elements in it. Each element should be read as 
                     16:    1st element is delimiter, 2nd element is enclosure 
                     17:    and 3rd element is csv fields
                     18: */
                     19: $csv_lists = array (
                     20:   array(',', '"', array('water,fruit') ),
                     21:   array(',', '"', array('"water","fruit') ),
                     22:   array(',', '"', array('"water","fruit"') ),
                     23:   array(' ', '^', array('^water^ ^fruit^')),
                     24:   array(':', '&', array('&water&:&fruit&')),
                     25:   array('=', '=', array('=water===fruit=')),
                     26:   array('-', '-', array('-water--fruit-air')),
                     27:   array('-', '-', array('-water---fruit---air-')),
                     28:   array(':', '&', array('&""""&:&"&:,:":&,&:,,,,'))
                     29: 
                     30: );
                     31: $file_path = dirname(__FILE__);
                     32: $filename = "$file_path/fputcsv_variation14.tmp";
                     33: 
                     34: $file_modes = array ("r", "rb", "rt");
                     35: 
                     36: // create the file
                     37: $file_handle = fopen($filename, "w" );
                     38: if ( !$file_handle ) {
                     39:   echo "Error: failed to create file $filename!\n";
                     40:   exit();
                     41: }
                     42: fclose($file_handle);
                     43: 
                     44: $loop_counter = 1;
                     45: foreach ($csv_lists as $csv_list) {
                     46:   for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
                     47:     // create the file
                     48:     $file_handle = fopen($filename, "w" );
                     49:     if ( !$file_handle ) {
                     50:       echo "Error: failed to create file $filename!\n";
                     51:       exit();
                     52:     }
                     53:     fclose($file_handle);
                     54:     
                     55:     echo "\n-- file opened in $file_modes[$mode_counter] --\n";  
                     56:     // add the content with has csv fields
                     57:       $file_handle = fopen($filename, $file_modes[$mode_counter] );
                     58:     if ( !$file_handle ) {
                     59:       echo "Error: failed to create file $filename!\n";
                     60:       exit();
                     61:     }
                     62:     $delimiter = $csv_list[0];
                     63:     $enclosure = $csv_list[1];
                     64:     $csv_field = $csv_list[2];
                     65:     
                     66:     // write to a file in csv format
                     67:     var_dump( fputcsv($file_handle, $csv_field, '++', '%%') );
                     68:     // check the file pointer position and eof
                     69:     var_dump( ftell($file_handle) );
                     70:     var_dump( feof($file_handle) );
                     71:     //close the file
                     72:     fclose($file_handle);
                     73:     
                     74:     // print the file contents 
                     75:     var_dump( file_get_contents($filename) );
                     76: 
                     77:     //delete file
                     78:     unlink($filename);
                     79:   } //end of mode loop 
                     80: } // end of foreach
                     81: 
                     82: echo "Done\n";
                     83: ?>
                     84: --EXPECTF--
                     85: *** Testing fputcsv() : with enclosure & delimiter of two chars and file opened in read mode ***
                     86: 
                     87: -- file opened in r --
                     88: 
                     89: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                     90: 
                     91: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                     92: int(0)
                     93: int(0)
                     94: bool(false)
                     95: string(0) ""
                     96: 
                     97: -- file opened in rb --
                     98: 
                     99: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    100: 
                    101: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    102: int(0)
                    103: int(0)
                    104: bool(false)
                    105: string(0) ""
                    106: 
                    107: -- file opened in rt --
                    108: 
                    109: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    110: 
                    111: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    112: int(0)
                    113: int(0)
                    114: bool(false)
                    115: string(0) ""
                    116: 
                    117: -- file opened in r --
                    118: 
                    119: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    120: 
                    121: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    122: int(0)
                    123: int(0)
                    124: bool(false)
                    125: string(0) ""
                    126: 
                    127: -- file opened in rb --
                    128: 
                    129: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    130: 
                    131: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    132: int(0)
                    133: int(0)
                    134: bool(false)
                    135: string(0) ""
                    136: 
                    137: -- file opened in rt --
                    138: 
                    139: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    140: 
                    141: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    142: int(0)
                    143: int(0)
                    144: bool(false)
                    145: string(0) ""
                    146: 
                    147: -- file opened in r --
                    148: 
                    149: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    150: 
                    151: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    152: int(0)
                    153: int(0)
                    154: bool(false)
                    155: string(0) ""
                    156: 
                    157: -- file opened in rb --
                    158: 
                    159: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    160: 
                    161: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    162: int(0)
                    163: int(0)
                    164: bool(false)
                    165: string(0) ""
                    166: 
                    167: -- file opened in rt --
                    168: 
                    169: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    170: 
                    171: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    172: int(0)
                    173: int(0)
                    174: bool(false)
                    175: string(0) ""
                    176: 
                    177: -- file opened in r --
                    178: 
                    179: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    180: 
                    181: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    182: int(0)
                    183: int(0)
                    184: bool(false)
                    185: string(0) ""
                    186: 
                    187: -- file opened in rb --
                    188: 
                    189: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    190: 
                    191: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    192: int(0)
                    193: int(0)
                    194: bool(false)
                    195: string(0) ""
                    196: 
                    197: -- file opened in rt --
                    198: 
                    199: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    200: 
                    201: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    202: int(0)
                    203: int(0)
                    204: bool(false)
                    205: string(0) ""
                    206: 
                    207: -- file opened in r --
                    208: 
                    209: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    210: 
                    211: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    212: int(0)
                    213: int(0)
                    214: bool(false)
                    215: string(0) ""
                    216: 
                    217: -- file opened in rb --
                    218: 
                    219: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    220: 
                    221: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    222: int(0)
                    223: int(0)
                    224: bool(false)
                    225: string(0) ""
                    226: 
                    227: -- file opened in rt --
                    228: 
                    229: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    230: 
                    231: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    232: int(0)
                    233: int(0)
                    234: bool(false)
                    235: string(0) ""
                    236: 
                    237: -- file opened in r --
                    238: 
                    239: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    240: 
                    241: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    242: int(0)
                    243: int(0)
                    244: bool(false)
                    245: string(0) ""
                    246: 
                    247: -- file opened in rb --
                    248: 
                    249: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    250: 
                    251: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    252: int(0)
                    253: int(0)
                    254: bool(false)
                    255: string(0) ""
                    256: 
                    257: -- file opened in rt --
                    258: 
                    259: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    260: 
                    261: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    262: int(0)
                    263: int(0)
                    264: bool(false)
                    265: string(0) ""
                    266: 
                    267: -- file opened in r --
                    268: 
                    269: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    270: 
                    271: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    272: int(0)
                    273: int(0)
                    274: bool(false)
                    275: string(0) ""
                    276: 
                    277: -- file opened in rb --
                    278: 
                    279: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    280: 
                    281: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    282: int(0)
                    283: int(0)
                    284: bool(false)
                    285: string(0) ""
                    286: 
                    287: -- file opened in rt --
                    288: 
                    289: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    290: 
                    291: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    292: int(0)
                    293: int(0)
                    294: bool(false)
                    295: string(0) ""
                    296: 
                    297: -- file opened in r --
                    298: 
                    299: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    300: 
                    301: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    302: int(0)
                    303: int(0)
                    304: bool(false)
                    305: string(0) ""
                    306: 
                    307: -- file opened in rb --
                    308: 
                    309: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    310: 
                    311: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    312: int(0)
                    313: int(0)
                    314: bool(false)
                    315: string(0) ""
                    316: 
                    317: -- file opened in rt --
                    318: 
                    319: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    320: 
                    321: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    322: int(0)
                    323: int(0)
                    324: bool(false)
                    325: string(0) ""
                    326: 
                    327: -- file opened in r --
                    328: 
                    329: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    330: 
                    331: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    332: int(0)
                    333: int(0)
                    334: bool(false)
                    335: string(0) ""
                    336: 
                    337: -- file opened in rb --
                    338: 
                    339: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    340: 
                    341: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    342: int(0)
                    343: int(0)
                    344: bool(false)
                    345: string(0) ""
                    346: 
                    347: -- file opened in rt --
                    348: 
                    349: Notice: fputcsv(): delimiter must be a single character in %s on line %d
                    350: 
                    351: Notice: fputcsv(): enclosure must be a single character in %s on line %d
                    352: int(0)
                    353: int(0)
                    354: bool(false)
                    355: string(0) ""
                    356: Done
                    357: 

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